Page "Proposals/BEP-0003" was changed by olemis
Diff URL: 
<https://issues.apache.org/bloodhound/wiki/Proposals/BEP-0003?action=diff&version=14>
Revision 14
Comment: [BEP-003] Sample product URL mappings TODO: Detailed request 
dispatching
Changes:
-------8<------8<------8<------8<------8<------8<------8<------8<--------
Index: Proposals/BEP-0003
=========================================================================
--- Proposals/BEP-0003 (version: 13)
+++ Proposals/BEP-0003 (version: 14)
@@ -211,15 +211,116 @@
 
 === Product resources namespaces #url-mapping
 
-Product and resource ID should form a two dimensional namespace. The mapping 
should be flexible enough to support the following scenarios .
-
-  - '''Product path namespace''' : '''TODO'''
-  - '''Product sub domain''' : '''TODO'''
-  - '''Product sub domain + path namespace''' : '''TODO'''
+Product and resource ID should form a two dimensional namespace. The mapping 
should be flexible enough to support the scenarios mentioned below. Other 
deployments may still be possible but are beyond the scope of this 
specification. However , in all cases every requests sent to any path under 
product base URL will be handled by the request handlers and filters activated 
in the target product environment.
+
+  - [=#deploy-domain] '''Product sub domain''' : The base URL of products
+    will be at sibling sub-domains. A well-known
+    example is edgewall.org (i.e. bitten.edgewall.org ,
+    genshi.edgewall.org , trac.edgewall.org ). 
+    The global environment may be accessible at one 
+    such sub-domain, at top level domain, or
+    somewhere else.
+
+{{{
+#!div class="well"
+
+{{{
+#!span class="label label-info"
+
+  Implementation notes
+}}}
+
+'''TODO'''
+
+}}}
+
+  - [=#deploy-sibling-paths] '''Product path namespace''' : Each product is 
+    accessible at sibling paths on the same domain.
+    The global environment will be available either at 
+    one such path or somewhere else.
+
+{{{
+#!div class="well"
+
+{{{
+#!span class="label label-info"
+
+  Implementation notes
+}}} 
+
+This case is very similar to the [./MultienvParentDir reference 
multi-environment setup] .
+
+'''TODO'''
+
+}}}
+
+  - [=#deploy-global-env-embed] '''Embedded product path namespace''' : Each 
+    product is accessible at sibling paths inside 
+    the URL space of the global environment. 
+
+{{{
+#!div class="well"
+
+{{{
+#!span class="label label-info"
+
+  Implementation notes
+}}} 
+Even if this case is very similar to the [./MultienvParentDir reference 
multi-environment setup] a better match will be another setup based on 
[trac:wiki:TracWsgiPlugin]. The main difference with respect to 
[#deploy-sibling-paths sibling paths] deployment is that the global environment 
plays an active role dispatching the requests addressed to an specific product 
by forwarding them to the corresponding product environment.
+
+'''TODO'''
+
+}}}
+
+  - [=#deploy-domain-path] '''Product sub domain + path namespace''' : 
+    In this case product prefix will be 
+    matched against URL sub domain whereas 
+    ''Bloodhound'' will be accessed at a given path
+    inside of it. This case is frequently offered by
+    hosting providers like forges deploying multiple
+    web applications for projects . In general 
+    product base URL will look like 
+    `http://<product prefix>.domain.tld/path/to/bloodhound` .
+
+{{{
+#!div class="well"
+
+{{{
+#!span class="label label-info"
+
+  Implementation notes
+}}} 
+
+'''TODO'''
+
+}}}
+
+  - [=#deploy-domain-path] '''Arbitrary product path namespace''' : 
+    Sometimes hosting providers like forges do not 
+    support sub-domains for products. Hence 
+    product prefix is included in URL. 
+    In general, product base URLs will look like this
+    `http://domain.tld/path/to/<product prefix>/path/to/bloodhound` . 
+    One such hypothetical example would be 
+    `http://sourceforge.net/p/<product prefix>/bloodhound` .
+
+
+{{{
+#!div class="well"
+
+{{{
+#!span class="label label-info"
+
+  Implementation notes
+}}} 
+
+'''TODO'''
+
+}}}
 
 '''FIXME''' also be addressable through the product URL namespace, namely 
/ticket/<product prefix>/<local ticket id>. 
 
-In a multi-product configuration product resources should not be accessed 
using current global URL scheme (i.e. 
/path/to/bloodhound/<environment>/<realm>/<id>). '''TODO''' why ?
+In a multi-product configuration product resources should not be accessed 
using current global URL scheme (i.e. 
/path/to/bloodhound/<environment>/<realm>/<id>). Since [#permissions products 
will have their own permissions schema] then requests handled by components in 
the context of the top-level environment will perform neither the right 
permissions checks nor even use appropriate settings , and so on ... The same 
will happen for resources moved between products . In general such requests 
should be redirected to a URL under the namespace of resource's product.
 
 ==== Tickets #tickets-namespace
 
-------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