My name Is Mostafa Mohamed currently a student in Ain Shams University in Egypt.
Contact Information:
Email: snhkicker@hotmail.com
Reasons for proposal:
I've been a fan of WikiBooks for a long time i learned from them a great deal and have been learning from them for past 2-3+ Years when Most of the books were still incomplete and i fallback to them alot to remember things till now.
Allowing Users to get 3D objects and view them in Blender book Noob to Pro will give the Readers a huge push allowing them to download the files and even looking at them will provide great hands on experience.
The rise in 3D printers and 3D in general will require wikipedia to work for a better implementation and having a good start will prove to be of value to the overall picture.
Benifits to Wikipedia Community:
3D elements will be displayed in Games related pages , 3D tools pages , 3D printers related,Books etc..
Deliverables:
(Pre Start) Finalizing the Required and optional formats:
(required) X3d (optional) blend ,collada
(Mid term evaluations) A working upload mechanism to upload 3D files and a basic working Display of files
(required) Partial Documentation,Full upload Mechanism, Partial Display (optional) Test Cases,Full Display
(Final evaluations) A fully working upload mechanism and Displaying
(required) Test Cases, Full Documentation of work, 100% tested and working Implementation (optional) Extra Formats
Implementation Details:
The task is split in 2 parts {Uploading , Viewing} that i will adress:
Uploading:
- Uploading a 3D file in X3d format to wiki by user will send him to a special page similar to the one in https://www.mediawiki.org/wiki/Extension:Form .
- The user is then prompted to upload a X3D or any other optional formats and a fall back picture and text.(and maybe a .blend file but unlikely as we will need to check this too(maybe a different file than x3d intended as spam??))
- The changes are saved normally like all other uploads
- The uploads are reviewed by wikipedia members by using display extension
Displaying: clicking on a 3D asset will fire this
X3d Dom is the standard implementation in displaying 3D files and will likely be the same in long future as other solutions are alot harder.
- My understanding of wikipedia content delivery is that the related content to a certian page will be batched together by mediawiki in a module in this case we will add the x3d Dom facilitities needed to display x3d code
- we will use this content to embed it in an iframe with a download button next to it (through a JS file )
- The user closes the page and he returns to a normal working wikipedia page
Notes:
- the reason i choose this is to minimize any possible regression to normal user experience in case something goes wrong only 3D page will be affected which requires users clicking it which embeds it in an iframe making it very hard to corrupt
- having a special page will allow for better control over it in future as your not bound to the usual user experience viewing an html page
Why me:
I'm Very motivated for this project as i love open source software and have been using blender now for about a half a year.
I'm good in many Programming languages and frameworks:
PHP/Pyhon/JS/C/C++/Lua/Java/C#/SQL
I'm self driven and i'm confident i can do this project.