[Bf-committers] SoC 2008 proposal : online repository protocol and implementation for any asset

Jonathan-David SCHRODER myselfhimself at free.fr
Sat Mar 29 06:52:21 CET 2008


Hi,
I've thought of a summer of code proposal (not for me... though I could
apply for it later) today.
That actually came out after I discovered www.blender-materials.org where
you can :
- browse through a website interface for materials and download them
- or use a python script which gives you previews and text details of
materials and downloads and install those materials for you in the current
scene.
What has been done for blender-materials could be done for more than
materials : scripts, plugins, models etc...
Since, there are many models, scripts or materials repositories out there,
but they have not easy to browse automatically and the assets to download
are not as easy
to install as with that kind of python script mentioned above.

so... I submit that proposal here first for peer review
then, I could post it to blenderartists hopefully very quickly. And add a
one line description on the SoC Idea blender wiki page (cwant on
#blendercoders or someone else would give me edit access).

So I copy paste the online description first :
In the section: Networking (which does not exist yet on the ideas page,
though there's an Import / Export section)
Implement a protocol, repository and client for blender users to be able to
submit blender data (materials, scripts, models, nodes, blender updates...)
with preview and accompanying details to a repository as well as fetch all
of those and install them locally.

I would take the permission to link the blenderartist forum's thread list to
that one line idea.

Here's my proposal, presented formally as asked on
http://wiki.blender.org/index.php/BlenderDev/GSOC_Application_Template

Synopsis
Create protocol specification and code (online server and Blender client)
for a Blender repository for blender users to download diverse assets (like
what has been done with www.blender-materials.com for materials, but now for
any kind of assets) and install them inside Blender/onto the user hard
drive. This would allow anyone to get assets in a way simpler than browsing
the web, downloading, opening blender, doing File > Link/Append.

Benefits to the Blender Community
Deliverables
There are 3 deliverables: a protocol specification/documentation, code for a
server, blender python code.
1. A protocol documentation which details how a client (a Blender Python
script) and the server (the online assets repository) should communicate for
any user to:
- browse through the server database in a nice way and find what he is
looking for (have a preview of the things).
- download a chosen asset onto the user's hard drive.
- upload (submit) a created asset to the server along with text and
automatically or not generated-preview for it.
This protocol could be implemented in SOAP (XML) sent over HTTP.

2. PHP or Python code for the server, handling a local MySQL database or
just files, to send/receive assets with clients : * first without an web
interface (just XML), * secondly with a web interface.
This code should help people to setup their own repository, so that there's
not just one of them (ie. repository.blender.org) with much download charge
but many more with varying contents.

3. A Blender Python script run by the user, allowing him/her through some
user interface to : search the online database, read details and view
previews, download assets and install them (into the current scene or on the
hard drive), (automatically) update some of the assets (ex : scripts when
new versions are up). The script will be importable as library by other
python scripts.

Project details
This is a proposal to generalize what the project on
www.blender-materials.com has started to do, but now for any kind of Blender
assets, not just materials and if possible with available server code for
users to have more than one online repositories to fetch from/submit to.

Some examples of the assets that users could upload to - and download from -
a repository are : blender scripts, binary plug-ins, materials, sounds,
images and videos, 3d objects, animations, nodes, logic bricks, UI skins,
Blender binary updates.

Project Schedule
project duration: 2 months
with limitation on features: You are asked to implement 4 kinds of assets
among those mentionned in the "Project details" example list.
estimated timeline: - protocol: 1.5 week; - server code : 0.7 month, -
python code : 1 month.
It would be nice if more than one student (i.e. 2) worked on this so as to
have a friendly atmosphere between collaborating students, have more work
done / done in parallel.


So... I think that would be awesome. Though this is not a new idea.

Could you please review and correct the proposal and tell me whether I
should go and post it on blenderartists (full proposal) and the blender wiki
(one line description), or decide of something else you think is better ?

For now, I am not applying to this proposal, I'm just proposing it.

Sincererely,
Jonathan-david Schröder

-- 
http://www.jaxtr.com/myselfhimself
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.blender.org/pipermail/bf-committers/attachments/20080329/09e32874/attachment-0001.htm 


More information about the Bf-committers mailing list