Editing User:EBautu

From BRL-CAD

User account "EBautu" is not registered. Please check if you want to create/edit this page.

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
[[category: Summer of Code]]
 
 
 
==Abstract==
 
==Abstract==
The more.brlcad.org website (MoRe as in Model Repository) will help build a common repository of BRL-CAD models, which will allow BRL-CAD users to share their models and to easily locate useful models. An advantage of using Drupal both for the repository and the main site is that we can integrate the two sites (use the same code base, share users accounts, etc). The activity logs for this project are [[More_Changelog | here]].
+
The more.brlcad.org website (MoRe as in Model Repository) will help build a common repository of BRL-CAD models, which will allow BRL-CAD users to share their models and to easily locate useful models. An advantage of using Drupal both for the repository and the main site is that we can integrate the two sites (use the same code base, share users accounts, etc).
  
 
==Description==
 
==Description==
Line 34: Line 32:
 
==Results==
 
==Results==
 
The more.brlcad.org website will help build a common repository of BRL-CAD models, which will allow BRL-CAD users to share their models and to easily locate useful models. An advantage of using Drupal both for the repository and the main site is that we can integrate the two sites (use the same code base, share users tables, etc).
 
The more.brlcad.org website will help build a common repository of BRL-CAD models, which will allow BRL-CAD users to share their models and to easily locate useful models. An advantage of using Drupal both for the repository and the main site is that we can integrate the two sites (use the same code base, share users tables, etc).
 
==Conclusions (added at the end of the project)==
 
When the "Firm pencils down" day arrived for GSoC 2009 this was the implementation status of the requirements for our model repository project (collected from IRC chats with starseeker, brlcad, ``erik, and others, and presented in random order):
 
* have a clear licensing: implemented using a taxonomy
 
* HTTP upload method: implemented using a customized filefield module (which allows normal and Ajax uploads)
 
* other non-HTTP upload methods: implemented using a customized filefield module; users can upload their files through FTP (or other methods) and then select those files in the submit model form (using Ajax completion)
 
* possibility to report abuse (licence infringement): implemented using the the flag module (initially was node_queue, but was later replaced)
 
* automatic metadata extraction: the brlcad custom module reads the summary, title, units, database version, objects list, and top objects from the models.
 
* information from the model to be accesible on web (web-ready information capabilities): metadata extracted from the model is filled into CCK fields which can be further edited
 
* categorize the model through the website: implemented using taxonomies (one for licence, one for keywords)
 
* visualize the model: the imagefield module is used to store model raytrace renderings (automatically generated and/or uploaded by the user)
 
* automatic raytracing: the brlcad custom module automatically raytraces models, convert the raytraced rendering to png and adds them to the imagefield CCK fields.
 
* captcha points for submissions: implemented with recaptcha
 
* uploaded geometry gets queued for addition, views are queued for rendering, etc: when submitted or edited, all models get flaged as "requiring BRLCAD processing". The brlcad custom module process these models one by one, when the cron task is triggered (or when started manually).
 
* import cad geometry: the site accepts uploads in many formats (g, asc, dxf, stl, iges, euclid, etc); when processed, for each model a .g model file is produced.
 
* export cad geometry: the site allows the conversion of the .g file to multiple formats (asc, dxf, stl, iges, euclid, x3d, dxf, vrml, etc). This is enabled automatically by creating a filefield CCK field named ``format``_file in the group_files group of the model content type (where format can be: asc, acad, autocad, euclid, iges, stl, tankill, vrml, x3d)
 
* browse: implemented with views, using various ordering methods
 
* provide a strong feedback loop (like cia and/or e-mail notifications on changes): the cianotify custom module sends cia notification on various (customized) site events (e.g. a model is submitted, a model was processed by BRLCAD, a user registered, etc)
 
* rating system: implemented through fivestar module
 
* submission should have a cited source and the submission process allowing that source to be specified: there is a required CCK field for it.
 
 
Other things (not explicitly required, but implemented):
 
* download count: implemented with a custom made very light download count module which works both for private and public files
 
* tag clouds: implemented with taggadelic module (customized to fix some caching bugs)
 
* brlcad processsing optimizations: A non-preemptiv processing time limit is implemented to prevent long task from keeping the server busy. Many other optimisation methods are also implemented: files are not converted between same format (just linked together), only the misssing renderings are generated, only the missing file formats are converted, etc.
 
* support for multiple version of BRLCAD: all BRLCAD related task are externalized in TCL scripts (these scripts will be very similar for most versions, but have some special processing for a few versions).
 
* customized view points and view sizes: the number, size and the view points of the automatic raytrace renderings can be changed in the site admin UI.
 
* allow users to select which objects should be to render: object list is read from the model file and custom made CCK widget (a multicolumn select list) allows users to select to object to render (by default, the top objects are selected).
 
 
These things I did not implement:
 
* a special flag to note whether it's a solid model or not:  i didn't focused on this one (it can be done by parsing the object list: there's only 3 primitive types we support that aren't solid)
 
 
==See also==
 
* [[More_Changelog | Activities logs]]
 
* [http://more.brlcad.org Model Repository site]
 

Please note that all contributions to BRL-CAD may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BRL-CAD:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)