An HTTP 403 error is caused by effective permission settings on C:\Windows\Temp, where Vizit stores cache files by default. This is a known issue with Vizit that is fixed after version 1.0b. Upgrade to at least Vizit version 3.3 and use the Vizit Administration page to configure settings and/or local caching options (Central Administration>Application Management>Manage your Vizit installation). Changing the "Local Caching" path to one where all app-pool users have rights should alleviate this issue.
In order to improve performance and reduce load on farm web fronts and database, Vizit caches two types of information:
- SharePoint files - Fetching a file from SharePoint can be resource intensive operation. Vizit needs to access file multiple times when you load a document into the viewer or previewer window. To avoid erroneous load on the SharePoint farm it saves a copy of the file in local cache upon first request and subsequently re-uses that copy as many times as necessary. Vizit also takes care of cleaning expired file copies automatically.
- Document state data - While all previews and tiles are generated on the fly, some state information, such as annotation data, needs to be persisted and cached across the farm’s web front ends. Depending on your configured settings, Vizit wil store that information either in a hidden SharePoint list or on the local file system.
By default both local cache and state data is cached on the file system, under <windows temp directory>\VizitSP\<application pool>\. Vizit initializes the cache by creating the folder and changing permissions to prevent unauthorized access to cached information. If the system account that runs SharePoint (normally Network Service) does not have permission to write to this temporary directory, Vizit will either fail to create a folder or will fail to change access permissions. In either case Vizit will report the HTTP error code 403 (forbidden).
Keep in mind when changing the default caching options after upgrading Vizit
- Set the local cache path to point to location where you want to store local cache (SharePoint files). It makes sense to cache these files locally on the web front end, so the path must be local to server. Whatever path you choose, this path must be available on all web front ends and writable by all IIS web applications Vizit runs on.
- If you have single-server environment or your farm is using sticky sessions, then all requests within same user session are served by the same server, therefore all document caches can be stored locally on each server rather than in SharePoint itself. Simply uncheck the “Support Sessionless WebFronts” checkbox and Vizit will store state data in its local cache.
- If you are running stateless web front ends, different requests within same user session can be served by different servers in the farm, so all these servers must have access to the same state data. You can choose store state data in a shared folder (check “Support Sessionless WebFronts” checkbox and provide a UNC path of the location you want to use) OR in a hidden list in SharePoint (check “Support Sessionless WebFronts” checkbox and leave UNC path blank). The UNC path option will likely be the cheaper and faster alternative, but less reliable, because the file server hosting the shared folder can go offline. Using a hidden list is more expensive (where actual data is stored in SQL server), but more reliable because it utilizes the SharePoint farm itself.