The APIs listed on this page have the following attributes in common:
- They each provide a means to read and write persistent files with unique ids.
- They were designed with back-end pluggability in mind.
- They are not concerned with directory/folder semantics.
- They are not concerned with versioning semantics, but may allow files to be overwritten.
APIs and Implementations
API |
Language |
Target Application(s) |
Known Implementations |
---|---|---|---|
Java |
Alfresco CMS |
ALF-FS: FileContentStore |
|
Java |
DSpace 2 (Unreleased) |
BIT-FS: DSBitStore |
|
Python |
Any Web Application |
||
Java |
Daisy CMS |
||
COM |
MS SQL Server |
||
Java |
Apache JackRabbit |
||
Java |
Fedora Repository (2.x to 3.1) |
LLS-FS: GenericFileSystem |
|
Java |
Topaz OTM |
||
Java / C |
Any Fixed Content Repository |
Supported Capabilities
- Ids
- Supported ID types?
- Can be store-generated?
- Can be user-provided?
- Content Rewritable?
- Readonly Metadata
- Which are impls expected to provide for reading?
- Settable Metadata
- Which are impls expected to provide for writing?
- Extensible?
- Transactional
- Supported by API?
- Required by impls?
- Two-phase commit?
Other APIs/Implementations of Interest
- DSpace 1 BitstreamStorageManager - Single impl, supports either local filesystem or SRB
- Eclipse - BlobStore- Single impl, maps UUIDs to files on disk
- JAF DataSource - Models a file with a MIME type
- Jakarta Slide ContentStore - Has revision semantics
- OKI Repository OSID - Has container semantics (Assets may contain other assets)
- Plone Large File Management - Several options, but no common interface
- MediaWiki FileStore - php source?