Resources: Resources and Guidelines

Managing project files

Managing Project Files Within Your Subversion Repository

This note offers tutorial information on the organization of your project's file repository on EDGE so that you can more effectively manage documents associated with your project.

This note assumes that you have installed the TortoiseSVN Graphical User Interface Client on your computer, and that you have created a local copy of your project repository (or "sandbox") by "checking out" your repository using Tortoise. If not, please see Subversion Help. Simply put, using Windows Explorer you should create an empty folder (on your computer or flash drive) to act as your sandbox, right-click on the new folder, select "SVN: Checkout", and enter the url for your project repository: "". A copy of your project repository will be downloaded to your new folder so that you can make changes. Once you've changed, added, or deleted files within your sandbox, you "commit" these files (with Tortoise) back to the EDGE repository for storage and revision control.

Within your project repository on the EDGE server you can create a file structure to manage files in the same fashion that you manage other files on your computer. But, anything that you want visible or editable from your web interface on EDGE must be stored beneath the subdirectory "/web":

Beneath "/web" you will also notice a subdirectory entitled "public". Permissions for "/web/public/" are inherited from "/web" but files in the "public" subdirectory are also visible to any non-restricted EDGE user, so this is the directory which should contain all files that you want most readily accessible to viewers who may not have special permissions (like "guest" or "editor"). Of course, you are free to create an intuitive directory structure beneath "/web/public" so that you can easily locate files within the structure -- there's no need for a flat file hierarchy. Any file within this public subdirectory can be referenced by any node (webpage) created within your project website on EDGE.

Aside from the "public" subdirectory, any other subdirectory that you create beneath "/web" will maintain the permissions inherited from /web but will not be visible to non-restricted users of EDGE. So, you can create other subdirectories beneath "/web" that are only visible to "guests" and changeable by "editors", yet you are able to utilize your web interface to access them. One common name used for such a subdirectory is "private". (To create a "/web/private" directory accessible through your web interface, simply insert the url "" into your browser command line and EDGE will ask you to edit a new node. This node and the associated files will now be visible to anyone with "guest" or "editor" privileges for your project).

If you simply want to use the repository to store and manage project files using a revision control tool (eg. TortoiseSVN) but you don't care about access to those files thru the EDGE web interface, then you can create other subdirectories beneath your root project directory without placing them beneath the "/web" subdirectory. (Permissions are inherited from the main project, just as they are for other subdirectories).

Managing files also requires that you add and delete files from your EDGE repository. We strongly recommend that you do this, as well, by using your revision control tool rather than uploading new or modified files directly with the Wiki editor on EDGE. Revision control provides disaster recovery and much more control and convenience, and avoids other problems associated with multiple editors and file types. For example, the wiki method does not have the "smarts" to assign the mime-type when using the upload feature, so you must fix the mime-types through a process outlined in Correcting File Extensions .

Adding or deleting files with Tortoise requires one additional step prior to "committing" the files back to the repository, but it is quite straightforward. To add a file, first copy the new file to your local directory (created by checking out files with Tortoise). Then, right-click the filename and select "Tortoise", and you'll see a menu of choices including one entitled "add". Select "add", approve, and then "commit" the new file to the repository. To delete a file from the repository, first right-click on the file you want to delete within your local directory and select "Tortoise". From the menu choose "delete", then confirm, and "commit" the entire directory to the repository (since the file no longer exists).

Parent node: Subversion Help