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 .

Reply via email to