After you extend the repository definition of the PublishingFileRepository to support new item types, you must configure a custom VFS on the asset management server to expose items of those new types as files. Later, you configure a custom VFS at the same Nucleus location on the deployment target(s). The files exposed via the asset management server-side VFS are deployed to each VFS at that Nucleus location on the target site.

To configure the custom VFS on the asset management server, create a configuration file for the VFS. The VFS must be an instance of class atg.vfs.repository.ContentRepositoryVFSService, which is a VFS implementation that enables items stored in a content repository to be accessed as if they were stored in a file system.

The following table describes each property you should configure:

Property

Description

contentRepository

The content repository to expose as a file system.

Always set this property to /atg/epub/file/SecuredPublishingFileRepository. This restricts file asset access to users with the proper permissions.

itemDescriptorNames

A comma-separated list of item descriptor names that are viewable and accessible through the VFS.

Note: Each item descriptor can be exposed via just one VFS. An item descriptor specified in this property for a given VFS cannot be specified in this property for another VFS.

mutableFolderDescriptorName

The item descriptor in the repository specified in the contentRepository property that represents a folder in the content repository.

Always set this property to fileFolder, as this item descriptor represents a folder in the PublishingFileRepository.

Place the configuration file for the custom VFS at a Nucleus location in the config directory of your versioned module. (Later, you must configure a VFS at the same Nucleus location on your production target.)

In the FTPFileSystem example, you create the actual VFS component on the asset management server, locating it in Nucleus at /mycompany/FTPFileSystem. The configuration file for FTPFileSystem looks like this:

$class=atg.vfs.repository.ContentRepositoryVFSService

contentRepository=/atg/epub/file/SecuredPublishingFileRepository
itemDescriptorNames=ftpTextFileAsset,ftpBinaryFileAsset
mutableFolderDescriptorName=fileFolder

Note: Because ftpTextFileAsset and ftpBinaryFileAsset are exposed via FTPFileSystem, they must not be exposed via any other VFS in the content development environment.

 
loading table of contents...