Allow uploading of 3D files to Wikimedia Commons
OpenPublic

Description

Author: david

Description:
Please allow registered users to upload .blend files to the commons. I would
like to start a repository of Blender 3D resources including .blend files for
public use and for use with certain Blender 3D wiki projects, such as
http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro .

Perhaps create a new type, instead of just Images and Sound, add Source Files,
or maybe Sources?

  • Primary mentor: @MarkTraceur
  • Co-mentor: @JeanFred
  • Estimated time for a senior contributor:
  • Skills required: PHP, JS, and a service to render 3D models on screen
  • Microtasks: Any easy tasks from Multimedia or #editing
Older changes are hidden. Show older changes.
bzimport added a comment.Via ConduitJun 30 2011, 7:06 AM

ralf wrote:

Oh and a further advantage of X3D against Collada is that X3D has support in molecular presentation software like VMD, where Collada is unknown. Face it, support of Collada is restricted to the rendering community, while X3D should be known everywhere.

bzimport added a comment.Via ConduitFeb 19 2012, 7:31 AM

ralf wrote:

This is not dependent on #17012 why should it?

JeanFred added a comment.Via ConduitDec 14 2012, 3:20 PM

What is blocking here?

  • A sanitizer to detect malicious code in the X3D file at upload time?
  • A MediaWiki-integrated fallback mode?
  • Both/other?
  • Does the large browser support for X3D help or not really?
Sj added a comment.Via ConduitDec 15 2012, 2:28 AM

I can't find any descriptions online of the scale and severity of "malicious embedded stuff" problems with various data formats. How did we choose the formats that we don't support, back in the day?

There should probably be a page on Commons dealing in detail with each class of knowledge or data-format, and the problems that need to be overcome before we can host such knowledge or formats.

I don't actually know of a reason why we don't simply turn on uploading of a bunch of these formats, considering their ubiquity in other data- and file-sharing formats online; all we are doing is making it difficult for people to find and share freely-licensed knowledge in those formats, not making it difficult for someone with ill intent to share malicious hidden code.

Aklapper added a comment.Via ConduitDec 15 2012, 12:58 PM

There is http://www.mediawiki.org/wiki/Extension:X3d but no idea about maintenance and code quality. Testing and reviewing is probably welcome as a first step.

Tpt added a comment.Via ConduitDec 30 2012, 9:31 PM

Extension:X3d is based on a Java applet that can output subset of x3d and its development looks stopped. So I don't think that this extension is the "ready out of the box" solution we are looking for.

I think that the x3dom system http://www.x3dom.org/ to output 3d files on wikis is the best possible choice because:

  • x3d is an open standard well documented.
  • most of 3d software can output in x3d.
  • x3dom it's an active project with, I believe, a growing community.
  • x3dom provide two fallback modes if the browser doesn't support x3d. The first one that is based on webGL and the second one based on flash.
  • Extension:X3d doesn't support all x3d features.
Qgil added a comment.Via ConduitMar 23 2013, 6:00 PM

This feature request is being proposed at

http://www.mediawiki.org/wiki/Mentorship_programs/Possible_projects#Add_support_for_x3d_3D_files_to_MediaWiki

and I'm considering whether to add it or not to

https://www.mediawiki.org/wiki/Summer_of_Code_2013#Project_ideas

Question:

Is there a potential mentor willing to help potential students interested in this project?

Is there a reasonable support from the Commons community to incorporate this feature if it's developed and meets the quality criteria?

Without these qualifications in place we can't even consider the proposal for GSOC 2013.

bzimport added a comment.Via ConduitMar 24 2013, 7:19 PM

mrjohncummings wrote:

As far as I understand it there is some work already done on 3d support by wikipedia user:EMW http://www.mediawiki.org/wiki/Extension:PDBHandler

I personally think 3d models would make such an excellent edition to Mediawiki, especially with sites like thingiverse which have many thousands of files that have a compatible license and free photogrammetry tools available.

I have no programming ability but would be happy to ask around for some community support etc.

There are some projects that may be useful?

https://developer.mozilla.org/en-US/demos/detail/opendepth-point-cloud%20%20

http://code.google.com/p/open-3d-viewer/

Qgil added a comment.Via ConduitMar 24 2013, 8:05 PM

Thanks for the pointer, I have left a comment at EMW's talk page:
http://en.wikipedia.org/wiki/User_talk:Emw#Support_for_3D_files_and_Google_Summer_of_Code

Please do ask around. I think we have enough consensus about seeing progress in this area. We could scope the GSOC project to the development of the extension. If it's good then the Commons community will evaluate it but we don't need to tie both things. Looks like a feature that makes sense and would be beneficial on 3rd party MediaWikis as well.

JeanFred added a comment.Via ConduitMar 25 2013, 3:38 PM

I can say that interest for 3D rendering has regularly been voiced on Commons.

If you need more direct input from the Commons community (a straw poll on a statement of interest, a list of potential use cases), please let us know and we’ll see what we can do.

Qgil added a comment.Via ConduitMar 25 2013, 3:57 PM

The interest + no-opposition is indeed clear. I checked the Commons Village Pump and I saw several discussions, one of them happening these days.

All we need now is at least one mentor.

bzimport added a comment.Via ConduitMar 25 2013, 4:43 PM

mrjohncummings wrote:

Any ideas where a mentor could be found? Happy to ask around but not sure I know anyone who could be a mentor for this.

bzimport added a comment.Via ConduitMar 26 2013, 3:37 AM

emw.wiki wrote:

I've been working on a solution to do enable browser-native, interactive 3D models of proteins and DNA through the PDBHandler extension I've been developing. Here are some thoughts on possible high-level requirements for a potential GSoC project to enable broader support for interactive 3D models in Wikimedia projects:

The solution should use WebGL by default. It probably isn't worth mentioning, but the solution should not use Java applets or Flash.

There needs to be a fallback for browsers that don't have WebGL enabled by default. Many browsers don't support it, or only partially support it: see http://caniuse.com/webgl. IE10 and below don't support WebGL, and I would surprised if IE11 will. WebGL is disabled by default in Safari 5.1 and 6.0, so Safari can effectively be considered to not support it.

The fallback should support rendering to the 3D model as a static image. This is needed to support printing articles with 3D models, and would be a reasonable fallback for browsers that don't have WebGL enabled.

Regarding the WebGL framework used, I'd be interested to learn more about how X3DOM compares to Three.js. A brief comparison is here: http://weblog.benjaminsommer.com/blog/2012/05/13/comparison-of-webgl-framework-apis-part-5/.

Three.js seems drastically more popular than X3DOM. Comparing some rough metrics of developer interest:

GitHub:

Stackoverflow:

IRC:

  • 0 users on irc://freenode/x3dom (Googling gave no relevant results for 'x3dom irc')
  • 82 users on irc://freenode/three.js

There's also an O'Reilly book on Three.js (masquerading as a book on WebGL): http://www.amazon.com/WebGL-Up-Running-Tony-Parisi/dp/144932357X. I'm not aware of any books about X3DOM.

The PDBHandler extension I've been working on also uses Three.js.

DanielFriesen added a comment.Via ConduitMar 26 2013, 4:19 AM

Emw, Three.js vs. x3dom is irrelevant to uploads.

X3DOM's popularity is irrelevant. What's being talked about is not X3DOM, it's the .x3d file format. Which can be exported by whatever 3d tools people are using and uploaded.

x3dom is primarily a viewer for .x3d files.

While Three.js is a library layer that allows you to write interactive 3d things in the browser. While it supports importing COLLADA it's not a viewer. You'd have to write your own viewer.

Apples and oranges.

bzimport added a comment.Via ConduitMar 27 2013, 12:48 AM

emw.wiki wrote:

Daniel, I was responding to comment 18, which says "I think that the x3dom system http://www.x3dom.org/ to output 3d files on wikis
is the best possible choice". It'd probably make sense to track in its own ticket, but a rendering system (which would presumably include some WebGL framework) seems important to consider when thinking about how Commons might handle 3D media files.

bzimport added a comment.Via ConduitJun 7 2013, 5:40 AM

cmbj.wiki wrote:

I'd like to suggest that this bug's importance be changed to high enhancement - it's blocking a great deal of content across multiple areas in multiple projects.

Aklapper added a comment.Via ConduitJun 7 2013, 10:05 AM

See comment 20 and comment 21 for how to help getting this request going. If somebody is really actively working on this, feel free to increase the priority to normal. However, fixing this is currently not considered urgent ("high").

Qgil added a comment.Via ConduitJun 7 2013, 4:54 PM

An update on mentorship projects: even if this request was featured in our pages for Google Summer of Code and FOSS Outreach Program for Women (OPW) and we had potential mentors for it, nobody stepped in.

It's still a featured project at http://www.mediawiki.org/wiki/Mentorship_programs/Possible_projects#New_media_types_supported_in_Commons

The next stops in the mentored/paid calendar are the Wikimedia Individual Engagement Grants https://meta.wikimedia.org/wiki/Grants:IEG and the next OPW round, both pointing at the end of the year.

greg added a comment.Via ConduitAug 8 2013, 4:45 PM

To make it more clear what is going on, I've opened bug 52655, which is "Add support for thumbnails and interactive views of 3D models", ie: the technical ability of MediaWiki to do something meaningful with the files once they are uploaded.

This bug is now a tracking bug for enabling the feature (once ready, no ETA at all) on WMF wikis.

Nemo_bis added a comment.Via ConduitSep 17 2013, 8:27 AM

Do we have a wiki page summarising the status of this discussion/wishlist, other than the strategywiki proposal I'm now adding in URL (and related ones in the same category)?

greg added a comment.Via ConduitOct 31 2013, 5:08 PM

(In reply to comment #33)

This proposal is now featured at
https://www.mediawiki.org/wiki/Outreach_Program_for_Women/Round_7

Someone with more knowledge of the requirements should make a standalone page for this.

bzimport added a comment.Via ConduitMar 20 2014, 6:29 AM

umange wrote:

This project has been a long standing community request and it would be great if I were given the opportunity to work on this and make some progress. I have planned a basic outline on how to approach the problem. I have decided to provide a solution for either x3d or collada file formats(required for representing computer graphics). I will work on the other if time is there during my project. The plan I have proposed is to implement a solution on similar lines as media wiki normally represents files by rendering it into a .png file generating thumbnails by extracting meta data from image. I have talked a bit about this to the only mentor (Bryan Davis) listed on the website where this project was proposed. It would be great if some more interested people have a look at my idea. Furthermore, I would like feedback on which file format is more in demand currently(x3d or collada?). Also, if anyone has any recommendations for efficient raster image generations do tell. Please go through my proposal and tell me how can I improve it and make it up to the expectations of the community.

Link : https://www.mediawiki.org/wiki/User:Umang13/Gsoc14

Qgil added a comment.Via ConduitMar 20 2014, 2:16 PM

Hi Umang, my very suimple feedback is: make sure you don't miss the GSoC 2014 application deadline (tomorrow). We will have some extra days to discuss your proposal after that, but if you miss the deadline in Google Melange, Google will make no exceptions.

Thank you for your interest in contributing to Wikimedia, and thank you also for your willingness to solve a #1*** Bugzilla report!

Qgil added a comment.Via ConduitMar 25 2014, 2:39 PM

This functionality was featured as a Wikimedia GSoC 2014 project idea, and Umang responded to it. He is doing his homework, but he need mentors to evaluate his proposal and, eventually, form a team to complete this task.

Bryan Davis is offering help as secondary mentor, but he is already primary mentor for another project. Can someone volunteer, please?

First things first, and the first thing is Umang's evaluation. Could you point to annoying litle bugs or other bug reports that he could work on to show off his skills? Thank you.

PS: also wondering, is it worth to contact the Blender team to see whether they would like to (co-)mentor? The Blender Foundation is also participating in GSoC 2014. I have no idea about this feature and its relation to Blender, but here is the thought.

Bawolff added a comment.Via ConduitMar 25 2014, 3:16 PM

(In reply to Quim Gil from comment #37)

First things first, and the first thing is Umang's evaluation. Could you
point to annoying litle bugs or other bug reports that he could work on to
show off his skills? Thank you.

One possible task (this is a bit harder then most easy bugs, but only one i could think of off the top of my head) is to change max size handling code. Currently it is in the validateParam method. Instead max Size should be returned from its own method in MediaHandler, which should be checked from File::doTransform.

This way it would be cleaner to override, could be discarded for instant commons, and could have its own error message instead of the current useless generic one.

Other possibly easy bugs: gwtoolset blacklist to strict, gwtoolset doesnt normalize unicode (run Utf::cleanUp() on input from xml file)

All these have bug numbers, but not sure atm.

PS: also wondering, is it worth to contact the Blender team to see whether
they would like to (co-)mentor? The Blender Foundation is also participating
in GSoC 2014. I have no idea about this feature and its relation to Blender,
but here is the thought.

Its looks like it wont even be blenders format.

Personally this seems about as much to do with blender as say our png thumbnailing code has to do with gimp (that is just very tagentially).

Bawolff added a comment.Via ConduitMar 25 2014, 8:53 PM

To clarify (sorry for not doing so originally, i was in a rush), first issue is a combination of bug 62306 and bug 32387. This is currently assigned to gilles (which i didnt realize when mentioning it), so he might already be working on it (or might not, its been assigned for a while. Would have to ask him). Note that bug isnt that hard to code once you know what to do (although still a bit harder than average "easy" bug), but its not immediatly obvious what needs to be done. Anyways what im trying to say is if you want to tackle that bug, youre almost certainly going to need to ask for guidance, so dont be afraid to.

The other two are a bit simpler albeit not as closely related to your project. You may want to start trying with them They are bug 62909 and bug 62870. The hardest part of those bugs will probably be actually testing gwtoolset to see if your change worked, and dealing with the somewhat different coding conventions the extension uses.

Sorry i cant think of any simpler open multimedia related bugs.

Actually super simple open bug you could do - new special page that was just added named Special:ListDuplicateFiles uses the wfMessage() function where it should use $this->msg( ...) instead. Thats not all that related to your project, but it is multimedia related and should be an easy first commit.

Gilles added a comment.Via ConduitMar 26 2014, 10:43 AM

I'm not working on those bugs at the moment, the upcoming April 12th launch of Media Viewer is keeping us extremely busy. Once that's out of the way we'll start working on other projects, particularly Upload Wizard and the upload pipeline in general.

JeanFred added a comment.Via ConduitSep 3 2014, 8:58 AM

I was reviewing [[COM:UNSUPPORTED]] earlier, to check if there were bugs opened for every needed feature.

Is this bug about 3D support in general, or a specific file format in particular? Shall I open a bug for, say, AMF support, or shall we consider this is covered by the general topic of this bug?

JeanFred added a comment.Via ConduitSep 23 2014, 12:45 PM

Is this bug about 3D support in general, or a specific file format in
particular? Shall I open a bug for, say, AMF support, or shall we consider
this is covered by the general topic of this bug?

Up-ing this :)

McZusatz added a comment.Via ConduitSep 23 2014, 8:55 PM

Having a quick look at the comments suggests that this should be considered a tracking bug covering the 3D support in general.

Also, it is probably more clear to separate each request related to 3D support into a new bug report.

Bawolff added a comment.Via ConduitSep 23 2014, 9:40 PM

Well in theory they should be separate, in practise i doubt it would do much good unless someone was specificly comitted to implementing some format (splitting conversations rarely serves to attract more people in my experiance)

McZusatz added a comment.Via ConduitSep 25 2014, 9:59 PM

So we agree on getting rid of "Blender" in the bug title?

Steinsplitter added a subscriber: Steinsplitter.Via WebJan 2 2015, 12:56 PM
Ricordisamoa added a subscriber: Ricordisamoa.Via WebJan 6 2015, 11:27 PM
Ricordisamoa awarded a token.Via WebJan 6 2015, 11:29 PM
Kabhi2104 added a subscriber: Kabhi2104.Via WebJan 15 2015, 10:16 AM
Krenair added a subscriber: Krenair.Via WebJan 26 2015, 10:19 PM
Tgr added projects: Multimedia, Epic.Via WebJan 26 2015, 10:21 PM
Qgil added a comment.Via WebFeb 11 2015, 1:44 PM

Wikimedia will apply to Google Summer of Code and Outreachy on Tuesday, February 17. If you want this task to become a featured project idea, please follow these instructions.

Ainali added a subscriber: Ainali.Via WebFeb 20 2015, 10:53 AM
Fuzheado added a subscriber: Fuzheado.Via WebFeb 20 2015, 12:50 PM
NiharikaKohli added a subscriber: NiharikaKohli.Via WebMar 6 2015, 4:17 AM

Is this still relevant/needed? We're still missing a mentor for this project.
@JeanFred ping. Is there still consensus on pushing this forward?

waldyrious awarded a token.Via WebMar 6 2015, 5:17 AM
JeanFred added a comment.Via WebMar 6 2015, 8:53 AM

@NiharikaKohli Yes, I believe this is still very much wanted − @Ainali and @Fuzheado were discussing it a few weeks ago in the context of GLAM project, and I believe @mrjohncummings had also some 3D projects up his sleeve. On Wikimedia Commons, the interest there has been raised over and over again :) − but I’m happy to mention it there again if you would like :)

NiharikaKohli added a comment.Via WebMar 6 2015, 9:07 AM

@JeanFred, that's good enough. We need to find atleast one technical mentor who'd be able to guide a student to carry this out.

@Bawolff, @greg, @DanielFriesen, @Gilles Anyone interested in mentoring? It looks like a highly demanded feature request. We should do this.

Bawolff added a comment.Via WebMar 6 2015, 11:59 AM

I dont think any further discussion on commons is needed, unless someone wants to propose something specific, with specific formats proposed. (just the other day there wss someone asking about mpo).

Omar_sansi added a subscriber: Omar_sansi.Via WebMar 12 2015, 6:38 AM
NiharikaKohli edited the task description. (Show Details)Via WebMar 19 2015, 6:44 PM
NiharikaKohli set Security to None.
NiharikaKohli moved this task to Missing Mentors on the Possible-Tech-Projects workboard.
NiharikaKohli added a comment.Via WebMar 21 2015, 3:38 PM

Yay, I managed to find another mentor. I present to you........@MarkTraceur!

NiharikaKohli edited the task description. (Show Details)Via WebMar 21 2015, 3:39 PM
NiharikaKohli edited the task description. (Show Details)Via WebMar 21 2015, 4:06 PM
Steinsplitter added a project: Commons.Via WebMar 21 2015, 5:59 PM
Steinsplitter moved this task to Backlog on the Commons workboard.
Sj added a comment.Via WebMar 22 2015, 8:17 PM

Is there a separate bug for Blender files? That would still be awesome as well. Talking to Bassam K today, it sounds like writing a simple sanitizer came up on blender forums & shouldn't be hard.

adorazhang added a subscriber: adorazhang.Via WebMar 23 2015, 12:56 AM
Qgil added a comment.Via WebMar 23 2015, 10:31 AM

Also, since this task was created in 2005, 3D printing has become basically mainstream. I'm a total ignorant in file formats etc, but maybe there is a potential to collaborate with whoever is pushing for open formats in order to offer one day a subcategory of https://commons.wikimedia.org/wiki/Category:3D_printing with files of objects you could print yourself?

MarkTraceur added a comment.Via WebMar 23 2015, 3:59 PM

@Qgil I think it's safe to say that someone will, down the line, start a new project for 3D printer models.

Not that Thingiverse et al. aren't capable, but it'd be a cool addition to our little family. And we could pre-fill it with designs from the other sites.

JeanFred moved this task to File format support on the Commons workboard.Via WebMar 24 2015, 10:28 AM
NiharikaKohli added a comment.Via WebMar 24 2015, 4:03 PM

Hello! The IRC meeting tomorrow has been shifted to #wikimedia-ect channel. Looking forward to seeing you there. :)

jayvdb added a subscriber: jayvdb.Via WebMar 24 2015, 9:40 PM
NiharikaKohli moved this task to Featured Project Ideas on the Outreachy-Round-10 workboard.Via WebMar 25 2015, 10:07 AM
Micru awarded a token.Via WebMay 1 2015, 2:03 PM
Gilles removed a subscriber: Gilles.Via WebMay 4 2015, 9:38 AM
ori added a subscriber: ori.Via WebMay 6 2015, 4:05 AM

GLmol provides a means of doing this for molecules.

He7d3r added a subscriber: He7d3r.Via WebMay 13 2015, 5:07 PM
Clemclemmm added a subscriber: Clemclemmm.EditedVia WebMay 18 2015, 11:35 AM

the main file extension for 3d printing is :
.STL
but it's a colourless object.

there is the .VRML extension for objets with colors.

others extension used in the 3D printing world :
.OBJ .PLY .3DS
(not exaustive list)

an open plug in for view these files using three.js, and the most popular plug in :
https://github.com/tbuser/thingiview.js

Clemclemmm added a comment.Via WebMay 18 2015, 1:11 PM

what we need to allowing uploading this type of files ?

JeanFred added a comment.Via WebMay 18 2015, 1:18 PM

what we need to allowing uploading this type of files ?

For the general answer, see T90385 :)

Moushira added a subscriber: Moushira.Via WebMay 18 2015, 3:00 PM
greg removed a subscriber: greg.Via WebMay 19 2015, 9:34 AM

Looking around, it appears that X3DOM is the winning (and standards-supported) solution here. Is that right? If so, AFAICT this breaks down to five steps:

  1. Confirm that we can security-vet these files (no idea how hard this is)
    1. The spec suggests that external embedding is allowed only through CORS, which is still a lot of files in the Commons context but they're already passed so…
    2. Blocking scripting/animation and making them static might be necessary.
  2. Work out a strategy for server-rendering these files for non-compatible clients
    1. Probably easiest to sandbox Chrome / whatever and extract the first rendered frame? Given we've already built this for CI…
  3. Work out a strategy for supplying these files as interactive 3D embeds to compatible clients (via TMH-style lightbox?), and serving server-rendered else to non-compatible clients; we've not even done this for SVG files yet…
  4. Whitelist the new format (simplest thing)
  5. Add compatibility to editing transclusions of the files in e.g. VisualEditor.
  6. Consider new wikitext syntax (eww) to set the initial view on the file (equivalent to thumbtime=) and maybe 3D-specific other things?
Tgr added a comment.Via WebMay 24 2015, 10:16 AM

The spec suggests that external embedding is allowed only through CORS, which is still a lot of files in the Commons context but they're already passed so…

CORS generally protects the server from the reader, not the reader from the server. If a Commons file refers to evil.com/injection.x3d and evil.com sets Allow-Origin:commons.wikimedia.org on its responses, it will pass the CORS check. CSP can be used to create a domain whitelist, but I have no idea how it interacts with X3DOM.

Susannaanas added a subscriber: Susannaanas.Via WebJun 4 2015, 7:59 AM
Reguyla moved this task to Commons related on the Wikimedia-General-or-Unknown workboard.Via WebJun 16 2015, 2:20 PM
Wilfredor added a subscriber: Wilfredor.Via WebMon, Jul 6, 2:12 PM

You can upload the file here
https://commonsarchive.wmflabs.org

And add the template:
{{Commons Archive|My_raw_file.dng}}

in your image in commons, look this example:
https://commons.wikimedia.org/w/index.php?title=File:Agraulis_vanillae_at_Isla_Margarita.jpg&action=edit

Also, you can upload any file type like NEF, PSD, 3DS....

Restricted Application added a subscriber: Matanya. · View Herald TranscriptVia HeraldMon, Jul 6, 2:12 PM
Aeglius added a subscriber: Aeglius.Via WebMon, Aug 3, 11:36 AM

Add Comment