Welcome the CBRAIN BrainPortal application!
BrainPortal is the frontend of the CBRAIN architecture. It is a Rails application that provides a web-based graphical user interface to CBRAIN. Users can upload, tag and search their files. They can launch compute-intensive processing jobs on remote High-Performance Computing sites. Remote file repositories can be created to provide files from any network-enabled system.
BrainPortal has been built using Ruby on Rails. Ruby is a dynamic, object oriented language. Rails is a web-development framework based on Ruby. In keeping with the rails philosophy of development, BrainPortal is built using the model-view-controller (MVC) architectural pattern, and to great extent, using principles of RESTful design, meaning that the primary components of the system are modeled as resources that interact with each other using common HTTP verbs. The two main subcategories of resource in BrainPortal are:
- ActiveRecord Models that interact directly with the database.
- ActiveResource Models that interact with an ActiveRecord resource over a network.
- User Represents an actual user of the system.
- Userfile Models a user's files as entries in the database.
- DataProvider Represents an external provider for the contents of the userfiles.
- CbrainTask Represents a task request to a cluster, and its evolving states.
- PortalTask The subclass of CbrainTask used to model tasks as seen on the BrainPortal side.
- Bourreau Represents a remote execution server for processing tasks. All CbrainTask requests are sent to one of these.