Page "Proposals/BEP-0003" was changed by olemis Diff URL: <https://issues.apache.org/bloodhound/wiki/Proposals/BEP-0003?action=diff&version=29> Revision 29 Comment: [BEP-0003] Product-specific file system area . Attachments . Changes: -------8<------8<------8<------8<------8<------8<------8<------8<-------- Index: Proposals/BEP-0003 ========================================================================= --- Proposals/BEP-0003 (version: 28) +++ Proposals/BEP-0003 (version: 29) @@ -255,6 +255,23 @@ ||= Command =||= Parameters =||= Description =|| || `deploy-multiproduct` || '''TODO''' || In a way similar to built-in ''deploy'' command it will extract environment assets and create scripts for [#url-mapping default deployment] via CGI, FastCGI or mod_wsgi. || +=== Product file system hierarchy #fs + +The subfolder `./products/<product prefix>` relative to the top-level directory of the global environment will contain the product file system area. Attachments for resources owned by a product will be stored in there . Moreover plugins (e.g. trachacks:GraphvizPlugin) may use it to store files as they did in single environment deployments . + +{{{ +#!div class="well" +{{{ +#!span class="label label-info" + +Implementation notes +}}} +The code of Trac components structures file-system access using paths relative to the environment's top-level folder . Considering the fact that plugins migration towards multi-product support should be as smooth as possible the layout of product file-system area will be exactly the same as before . In other words , if the global environment's root folder is `/path/to/env` then the root folder of file-system area for product (prefix) `P` will be `/path/to/env/products/P` . Attachment `foo.txt` for ticket `42` in product `P` will be located at `/path/to/env/products/P/files/attachments/ticket/92c/92cfceb39d57d914ed8b14d0e37643de0797ae56/9206ac42b532ef8e983470c251f4e1a365fd636c.txt` whereas attachment `foo.txt` for ticket `42` in the global environment will be located at `/path/to/env/files/attachments/ticket/92c/92cfceb39d57d914ed8b14d0e37643de0797ae56/9206ac42b532ef8e983470c251f4e1a365fd636c.txt`. + +Product-aware components may do a different thing if they need to . + +}}} + == Rationale #rationale The following is a list of proposed features for multi product support in ''Bloodhound''. Goals related to compatibility are considered in [#backwards-compatibility Backwards compatibility] below. In each case you'll find notes explaining how candidate implementation will solve related issues. @@ -606,6 +623,10 @@ - ''Sourceforce.net'' and other instances of [http://incubator.apache.org/projects/allura.html Allura] - [https://www.assembla.com/features/bug-tracking Assembla] +=== Product attachments #attachments + +Each product will have a separate set of attachments . This means that ticket `1` in product `P1` and ticket `1` in product `P2` may have attachments with the same name but different contents . + === Other minor features #misc System information has to be consistent across product environments . -------8<------8<------8<------8<------8<------8<------8<------8<--------
-- Page URL: <https://issues.apache.org/bloodhound/wiki/Proposals/BEP-0003> Apache Bloodhound <https://issues.apache.org/bloodhound/> The Apache Bloodhound (incubating) issue tracker This is an automated message. Someone added your email address to be notified of changes on 'Proposals/BEP-0003' page. If it was not you, please report to .