aces / cbrain

CBRAIN is a flexible Ruby on Rails framework for accessing and processing of large data on high-performance computing infrastructures.
GNU General Public License v3.0
71 stars 43 forks source link

Create new VirtualFileCollection model #1135

Open prioux opened 3 years ago

prioux commented 3 years ago

This new model would represent virtually a set of other CBRAIN file as a FileCollection of symlinks; synchronizing it would synchronize all the CBRAIN files and create symlinks to them in the top of the FileCollection. The list of CBRAIN files would be maintained in a hidden CbrainFileList-compatible file.

We already have something very similar to this in https://github.com/aces/cbrain-plugins-neuro in the model called CivetVirtualStudy .

Note that several important synchronization-related overrides need to be added the the model's behavior (see CivetVirtualStudy for examples).

MontrealSergiy commented 3 days ago
  1. Following above requirements, the VirtualFileCollection works well (I created a fork for it in my profile). Since links do not support well merging of similarly named folders or files, a check is added. However it is not clear what should happen if one of sub-elements is renamed? One can either silently ignore the issue, send a warning or block rename, or perhaps somehow keep the old name?

  2. To avoid cyclic situations multilayer VirutalFileCollection are disallowed.