ATManagedFile allows you to store metadata in the database while keeping File assets on the servers file system. Content is treated like a first-class citizen in Plone, it can be transitioned (workflow), edited, copy/pasted. Metadata for content can be described through Archetype schema's. A managed_files tool enables administrators to specify where content is stored, the deletion policy, as well as the stored filesystem naming convention.
Included in ATManagedFile Pack are:
- ATManagedFile - a Archetypes extension of CMFManagedFile. That provides the schema support. Also has a very thin storage layer that delegates to CMFManagedFile.
- ATMFExample - an example content definition based on ATManagedFile.
- CMFManagedFile - a pure CMF implementation of ExternalFile that uses the managed_files tool. Exposes ExternalFile's methods as well as provides CMF implementation of the capabilities. Uses CMF tools to define customizable policies for a site.
- ExternalFile - AerialPartners implementation of a database -> file system content type. This provides most of the file system manipulation functionality. It has been enhanced to use newer ZPublisher functionality to efficiently serve content from the file system instead of reading the contents into memory.
In addition Archetypes 1.3.3 or greater is required. It is recommended to use with DAVPack to ensure large files that are uploaded using DAV or FTP are not loaded into memory.
- Many tests. Using the latest ZopeTestCase and FunctionalDocTestSuite which provides developers a "read as it tests" script that documents how the API is used.
- Uses filestream_iterators to efficiently server content from the file system
- portal_managed_files provides a mechanism to extend behavior for all content that uses the ManagedFile strategy. Such as when files from the file system will be deleted.
- Have more than one Plone content item pointing to the same file on the file system.
- Works over FTP and DAV (tested with Enfold Desktop)
Available versions of the software can be found in the download area.