On 19/11/12 07:04, Olemis Lang wrote:
I've been working on BEP-0003 recently , adding some routes we should
support and why . Some details still missing on the subject ,
especially how all this will work in the context of product
environments .

... read below ...

On 11/19/12, Apache Bloodhound <[email protected]> wrote:
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

[...]
  '''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>). 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.

Since proposed solution consists in replicating multi-environment
setup inside a single environment formerly proposed URL template (i.e.
/ticket/<product prefix>/<sequence ID>) seems not to be appropriate
for request dispatching, filtering and other processes taking place in
the context of product environments.

Therefore I'm proposing to move it to «Rejected ideas» section . I
look forward to your comments for feedback .


I am not sure that there is enough justification to allow for allowing a path/to/ticket/<product prefix>/<ticketid> - when only considering this form for tickets it is certainly possible but we should be making our lives easy for the determination of all resources that belong to a product so we are probably looking at (in a fairly generalised form):

pathto/<namespace path>/<product prefix>/pathtoresource

Up until now I have been considering using 'products' as <namespace path> but we might want to choose something else or even consider whether this should be configurable. Configurability leads to some problems when a user chooses a path that is already taken of course.

Presumably, running under an appropriate apache configuration, we would be able to effectively access the a product without the user having to specify the <namespace path> and we could even get the <product prefix> specified as a subdomain instead.

Anyway, with this scheme, the pathtoresource would represent anything that could be considered as belonging to the product using the same subsequent path as it would if it did not belong to a product. Effectively, this should probably apply to every resource that you can have outside of a product (versions, milestones, wiki, etc) but it is likely that this is where things begin to get a bit messy when considering plugins that are not product-aware.

Cheers,
    Gary

Reply via email to