green field

Using the Shared Files Module

The Shared Files module looks to the user identical to the File Manager module.  The difference is that the File Manager module provides direct access to the file system on the web server and should only be available to trusted server administrators.

With the Shared Files module all the files are stored in a specific folder /Data/Sites/(SiteID)/SharedFiles and the files are named with a guid string and a .config extension while the friendly name and the folder hierarchy is maintained int the database.  Naming the files on disk with a guid string makes it impossible or at least extremely difficult to guess the file name and the .config extension makes it impossible to retrieve just using an http request because ASP.NET is designed not to serve files with a .config extension.

When a Shared Files module is placed on a page, users in roles that have permissions to view the page can download the files because the module is configured to serve them using Response.WriteFile and converts the file name back to the friendly name on the way.  User's in roles that can edit the module are able to upload files and create folders etc.  Since the files are stored using a guid string naming, it is perfectly legit to have multiple files with the same friendly name if you upload them independently.  If you want to change the exisiting file, you can edit it and it will keep a version history so that if you upload a new replacement file, the previous version is archived in the folder /Data/Sites/(SiteID)/SharedFiles/History
It is also possible to download previous versions or revert to previous versions of the file.

mojoPortal Wins the 2007 Open Source CMS Awards Best Non-PHP Open Source CMS Donate Money to support the mojoPortal Project. Join the mojoPortal Group on Facebook Join the mojoPortal Group on LinkedIn View Joe Audette's profile on LinkedIn View Joe Audette's profile on The Guild of Accessible Web Designers site mojoPortal can run on GNU/Linux using Mono