Deprecated properties and old behavior
| s3.useContentRootInPath | dir.contentstore | Alfresco ContentURL (DB) | S3 path |
| false | contentstore | s3v2://{uuid}.bin | {uuid}.bin |
| true | contentstore | s3://{uuid}.bin | contentstore/{uuid}.bin |
New properties and behavior
| connector.s3.objectNamePrefix | connector.s3.objectNameSuffix | connector.s3.storeProtocol | Alfresco ContentURL (DB) | S3 path |
| "" (i.e. blank) | "" (i.e. blank) | s3v2 | s3v2://{uuid}.bin | {uuid}.bin |
| "" (i.e. blank) | .bar | s3v2 | s3v2://{uuid}.bin | {uuid}.bin.bar |
| foo/ | .bar | s3v2 | s3v2://{uuid}.bin | foo/{uuid}.bin.bar |
| foo/ | .bar | s3blue | s3blue://{uuid}.bin | foo/{uuid}.bin.bar |
Replicating s3.useContentRootInPath behavior
The default configuration in the new S3 Connector has the connector.s3.objectNamePrefix as blank. This is compatible
with old deployments that had s3.useContentRootInPath as false, resulting in no contentroot/prefix directory in the S3 path.
For compatibility with old deployments (where s3.useContentRootInPath was true), the connector.s3.objectNamePrefix
property should be configured with the ${dir.s3.contentstore} value. This inherits the value from the dir.s3.contentstore property, and ensures that:
- Old content is still readable, as it currently is, without moving/renaming it in S3.
- New content is created in the same old
dir.s3.contentstoredirectory as before the S3 upgrade.