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).
This project will focus on developing a Drupal-based web application that will allow BRL-CAD users to browse BRL-CAD model repositories, search, download and comment on models, as well as publish their own. This will permit users to share their models with the community, in order for others learn from their models, to increase their productivity and reduce modeling time. At the beginning, the application will be hosted on the more.brlcad.org (MoRe = Model Repository), but in the end it will also be packaged as a Drupal installation profile, allowing other users to quickly setup their own repositories.
I plan to build the model repository website using mostly existing Drupal modules and to develop new ones only where needed (i.e. extract metadata from models, generate thumbnails from models, convert models). The site will have a light design based on strict XHTML and CSS standards. It will use clean URLs in order to increase the friendliness towards users and search engines.
The CCK module will be used to define custom fields for each model node and comments and fivestar voting will allow users to provide feedback on the models they used. Each model will have its own page with information on the model (name of the model, author, description, comments) and links to related pages: model file downloads, similar models, screenshots, etc. A versioning system will be setup so that version updates of models are preserved and available to users.
Apart from model pages, the site will also feature book node pages allowing user to share their modeling know-how with others. I hope that with time and help from the community, some of these will evolve into real tutorials or even books (as was the case for Drupal, Moodle, and other open source projects).
When submitting new models, users will provide some information about the model (name, description, tags, etc), and upload their file(s). Users may also upload image files of the model that best showcases their features. Administrators will be able to promote interesting images to brlcad.org’s gallery.
Models may be uploaded in various file formats supported by BRLCAD and a custom module that will use BRL-CAD tools to automatically create thumbnails and to convert to other formats (as a cron job or on the fly, depending on the server configuration).
The site will allow various searching and browsing methods: browsing by author and by tags, searching by model name and advanced searching, tag clouds to show largest model categories, etc.
The MoRe BRLCAD site will support automatic content translation (english, french, german, italian, etc) and critical activities (user registration, model submission, model commenting etc) will be protected by CAPTCHA validation in order to prevent spam.
- April, 20 – May, 23 – discus web site features with the mentor; collect feedback from the mentor and community (both BRLCAD and Drupal).
- May, 25 – June, 7 – setup more.brlcad.org with Drupal and existing modules; adapt the site theme of www.brlcad.ord
- June, 8 – July, 10 – develop custom modules for specific tasks (import model metadata, thumbnail generation);
- July, 12 – August 8 – develop custom modules for specific tasks (automatic model conversion);
- August, 9 – August, 15 – remove reported bugs
- September, 3 – submit code and resource files to Google
The more.brlcad.org will allow users to search and browse for models using various criteria, download models, and submit new models.
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).