Loading...

All project content is available for reading, but you need to be a member of the project for Subversion checkout of source code, or to create/modify any information.
Login if you are a member. Apply here to request membership (open to all).

Native Virtual Path Provider With Meta Data Support

This Virtual Path Provider (VPP) for EPiServer supports storing and reading meta data for files that are saved in a native file system (not a versioned one.) The meta data is saved in the EPiServer database.

Using it

The file system works just like a regular EPiServer Native VPP file system, except this also supports storing meta data (the built-in does not.)

Important The file system does not support permanent links. If you move a file, any link to it will be broken. Only the versioned file system supports permanent links.

Installation and Configuration

Download or check out and compile the project. Copy the .dll file into the bin directory of your site. Configure an existing or new file system according to the example below.

<virtualPath customFileSummary="~/FileSummary.config">
  <providers>
    ...
    <add showInFileManager="true"
         virtualName="MyFileSystem"
         virtualPath="~/MyFileSystem/"
         bypassAccessCheck="false"
         name="MyFileSystem"
         type="EPiCode.Web.Hosting.VirtualPathNativeProviderWithMetaData, EPiCode.NativeVPPWithMeta"
         physicalPath="C:\EPiServer\VPP\MyEPiServerSite1\MyFileSystem"/> 
     ...
  </providers>
</virtualPath>

You also need a location tag to connect the file system to the files on the drive:

  <location path="MyFileSystem">
    <system.webServer>
      <handlers>
        <add name="webresources"
             path="WebResource.axd"
             verb="GET"
             type="System.Web.Handlers.AssemblyResourceLoader"/>
        <add name="wildcard"
             path="*"
             verb="*"
             type="EPiServer.Web.StaticFileHandler, EPiServer"/>
      </handlers>
    </system.webServer>
    <staticFile expirationTime="-1.0:0:0"/>
  </location>

Make sure you configure the cache expiration time to a sensible value for your environment.

Migrated Databases

If you have migrated the database from CMS 4, you need to update all paths in the database in order for the old values to be used. Run the following SQL command against your database:

UPDATE [tblUnifiedPath]
   SET [Path] = '~' + [Path]
 WHERE [Path] like '/upload/%'

Change upload above to the name of your root if it was called something else. If you have more than one file system with metadata that you want to continue to use, run the same SQL for all the file systems.

The UPDATE statement will prepend ~ to all paths in order for CMS 5 to be able to find the paths and metadata. Example: /upload/mydir/myfile.jpg will now be ~/upload/mydir/myfile.jpg.

Requirements

  • EPiServer CMS 5 R2 SP2
  • Visual Studio 2008 to compile it

Note! This project might also work with previous versions of CMS 5, but has not been tested against any. Change the two CMS 5 references to the one you'd like to use and compile the project.

Download

Support

Tickets for this component:

No results

Ask a question

Requires login.


Report a bug

Requires login.


Add a feature request

Requires login.


Contributed by

DSS - Departementenes servicesenter (Government Administration Services).

Attachments