Bitweaver - Storage

Created by: Lester Caine, Last modification: 25 August 2025

Main documentation on bitweaver.org

As of Release_ReleaseOne, the Kernel supports a user-centric centralized storage mechanism. This mechanism provide storage and retrieval of files uploaded from a user. An image processor is also available for sizing and converting the uploaded file if it is an image.

The problem with that approach is that if a user is removed all of their content goes as well, or remains wrapped in their user ID. Early on I hacked around this with the protector package, which replaces the default user centric storage mechanism with a 'flat' filing system. All content is stored in the one two level attachments store. with <content_id>mod 1000/<content_id> structure to spread the load on the directory tree. To go with this, rather than the group grouping mechanism, I use a role based system with a heirachy of access levels. This allows material restricted to say managers to be blocked from appearing on listings for shop floor staff. Tying everything to a particular role means that as a user moves up the access ladder they can see material they are now allowed access to while the group process did not provide that level of protection. I have noted that this code has recently been stripped from the core code base, which in some ways is OK as I had to hard code the classes to use the role pair in my set of code. More on that in the user package.