On Sun, Apr 8, 2012 at 4:00 AM, Sergiu Dumitriu <[email protected]> wrote:
> On 04/06/2012 04:57 AM, Thomas Mortagne wrote:
>>
>> I was starting to look at what to modify and I found that we are
>> really not consistent right now: most of the Java code in oldcore like
>> XWikiAction are using absolute URL but all VM I could see (and I guess
>> it's the same for the wiki pages) send relative URLs.
>>
>> So using absolute URL for send redirect is very far from being a rule
>> right now. It also mean that making it configurable is going to be a
>> pain since none of the .vm and wiki page are going though some common
>> redirect oriented URL generator like most Java code do.
>>
>> Here is a proposal:
>> * introduce a configuration but use it only in
>> XWikiDocument#getURL(String action, String params, boolean redirect,
>> XWikiContext context) (that's the method where pretty much all Java
>> code go trough when asking for a redirect URL)
>> * introduce a api.Document#getURL(String action, String queryString,
>> boolean redirect) method to follow XWikiDocument (from scratch I think
>> I would prefer getRedirectURL but it's simpler to follow already
>> existing API for now)
>> * we can refactor later the .vm and wiki page to support this new
>> configuration. What's important right now is to allow someone to come
>> back to old behavior for whatever reason (which sounds a lot less
>> necessary to me now that I know that we actually use a lot of relative
>> URL in sendRedirect) but better be safe since it does not cost a lot
>> here and I plan to introduce this in xwiki.cfg only
>>
>> WDYT ?
>
>
> I don't really see the point. We should just leave them relative, adding yet
> another getURL method will only bloat the API even more.
>
> Perhaps I wasn't making myself clear, I'm not against using relative URLs in
> sendRedirect, I'm saying that the fact that we switch to relative URLs
> doesn't really solve the problem, which is that XWiki doesn't know the
> external host and protocol, it will just hide it into less frequently used
> features, like PDF export, which makes it harder to spot the fact that the
> configuration isn't correct.

And I created a jira issue for that but again that's not my point
here, my point is that using absolute URL when you can use relative
one is simply wrong.

>
>
>> On Wed, Mar 21, 2012 at 1:10 AM, Thomas Mortagne
>> <[email protected]>  wrote:
>>>
>>> On Tue, Mar 20, 2012 at 11:36 PM, Sergiu Dumitriu<[email protected]>
>>>  wrote:
>>>>
>>>> On 03/20/2012 03:39 AM, Thomas Mortagne wrote:
>>>>>
>>>>>
>>>>> Hi devs,
>>>>>
>>>>> In HTTP specifications a redirect is always absolute URL which is
>>>>> probably why we use absolute URL with sendRedirect.
>>>>>
>>>>> However sendRedirect does not produce direct HTTP response but allows
>>>>> relative URL and delegate to the application server the job of
>>>>> producing proper absolute URL.
>>>>>
>>>>> IMO XWiki should always use relative URL everywhere it can so I
>>>>> propose to change our practice to use relative URL instead of absolute
>>>>> URL with HttpSevletResponse#sendRedirect when possible.
>>>>>
>>>>> The only reasons I see to use external URLs are:
>>>>> * interwiki URL in a  domain based multiwiki
>>>>> * html/pdf export for links pointing on not exported pages or non view
>>>>> actions
>>>>>
>>>>> WDYT ?
>>>>
>>>>
>>>>
>>>> I don't think this will actually solve the problem.
>>>
>>>
>>> What problem ? If you are talking about
>>> http://jira.xwiki.org/browse/XWIKI-7632 it did fixed the issue in this
>>> specific use case as I said on the issue itself.
>>>
>>>> As long as XWiki doesn't
>>>> know the correct URL to use, I doubt that the container will do any
>>>> better.
>>>> I just tested this on Apache HTTPD + mod_proxy_http going to Jetty, and
>>>> it
>>>> didn't solve the problem.
>>>
>>>
>>> Probably mean you did not properly configured your reverse proxy but
>>> in my use case it was done right.
>>>
>>>>
>>>> For the PDF export, all URLs must be external. A relative URL in a PDF
>>>> doesn't have a base URL to work with, since the PDF is a standalone
>>>> document. That's why we use a special URLFactory when exporting PDFs.
>>>
>>>
>>> I know we are using a special URLFactory for pdf export. If a document
>>> pointing to itself or to another document exported in the same pdf is
>>> an external URL with sheme/host/port then there is something pretty
>>> wrong in the pdf export. Anyway that's not really the subject of the
>>> proposal.
>>>
>>>>
>>>>
>>>>> Here is my +1. We very often fix bugs in the way to produce external
>>>>> URL and it's still not OK (see
>>>>> http://jira.xwiki.org/browse/XWIKI-7632) so lets reduce the scope for
>>>>> this need as much as possible.
>>>>>
>
>
> --
> Sergiu Dumitriu
> http://purl.org/net/sergiu/
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs



-- 
Thomas Mortagne
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to