This is my first report related to core here, so sorry for not being aware which project to use.
I am running phabricator on this setup:
- FreeBSD
- behind nginx thorugh php-fpm
- with APCu
- powered by php5.6+opcache
It's running on custom local domain, HTTPS only.
Whole stack works perfectly, however due some limitations, I need to use companion application to meet our needs.
Relying on HTTPS, I don't exactly need integration with phabricator's auth mechanisms yet (which seems quite complex). More over, information accessed could be described as "internally public".
After lot of thought, I decided to publish this php application within same domain (and thus webserver), although with custom baseurl. All this is handled at webserver config level (which is IMHO correct spot to do so) .
Let's say this baseurl is https://my.phabricator.internal/custombase.
The problem I am having is:
- one can generate crosslinks to this apllication from Phriction (for example) by using :
[[custombase/customlink | link]]
- and this ends up being rendered as proper url :
<a href="custombase/customlink" class="remarkup-link" target="_blank">link</a>
- problem is though, such link causes browser to open new tab when clicked.
- that is pretty confusing to my users, accustomed to navigating back
Would it possible to have phabricator configurable in such way that those link are left as is, eg. openning in current tab, so that rendered output is this instead (?) :
<a href="custombase/customlink" class="remarkup-link">link</a>
I tried to look at phab code, but it's kinda big program, this seems handled at controller level, where system selects which application to use. And also during render phase.
For easiest integration, I imagine it would be best to have config setting called something like:
remarkup.custom-internal-links : ["custombase", "anotherbase", "yetanotherbase"]
This setting would make remarkup engine teat such links as if they were native phrabricator links.
Thus during render pass, these links would be rendered correctly as local.
At the same time, system administrators would have full control over which links can be treated "as local".
But when actually navigating there, these urls would get catched by webserver's "router" instead of phabricator's internal one, and got handled accordingly.