You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ofbiz.apache.org by Sam Hamilton <sa...@sh81.com> on 2010/07/15 04:49:23 UTC

Ecommerce <@ofbizUrl> Problem

Hey Guys,

I am wondering how other people get over this problem?

If you have multiple websites running in OFBiz at the same time then
they will all be mounted at different urls e.g. /ecommerce & /ecommerce2
& /ecommerce3 for three different websites.

Now its easy to setup ajp/httpd to point www.ecommerce.com to /ecommerce
and then www.ecommerce2.com to /ecommerce2 etc.

But when you do this then go to www.ecommerce.com and try and click any
of the links it has automatically added the mount point back into the
url e.g. www.ecommerce.com/ecommerce/control/view/showcart but these 404
because we have done the trickery with ajp to try and hide the mount point.

I have found that it is something to do with <@ofbizUrl> tags in the FTL
but I am not sure how to alter them to drop the /ecommerce/

Thanks
Sam





Re: Ecommerce <@ofbizUrl> Problem

Posted by Sam Hamilton <sa...@sh81.com>.
Cheers will go have a read

Sam

On 15/07/2010 12:27, Raj Saini wrote:
> Hi Sam,
> 
> It is complicated and short answer is ProxyPass directive of mod_proxy
> does not rewrite the absolute links embedded in the pages whereas OFBiz
> links are absolute links. The solution is to use  mod_proxy_html module
> to rewrite the links embedded links
> http://www.apachetutor.org/admin/reverseproxies
> 
> Regards,
> 
> Raj
> 
> 
> On 15/07/10 08:19, Sam Hamilton wrote:
>> Hey Guys,
>>
>> I am wondering how other people get over this problem?
>>
>> If you have multiple websites running in OFBiz at the same time then
>> they will all be mounted at different urls e.g. /ecommerce&  /ecommerce2
>> &  /ecommerce3 for three different websites.
>>
>> Now its easy to setup ajp/httpd to point www.ecommerce.com to /ecommerce
>> and then www.ecommerce2.com to /ecommerce2 etc.
>>
>> But when you do this then go to www.ecommerce.com and try and click any
>> of the links it has automatically added the mount point back into the
>> url e.g. www.ecommerce.com/ecommerce/control/view/showcart but these 404
>> because we have done the trickery with ajp to try and hide the mount
>> point.
>>
>> I have found that it is something to do with<@ofbizUrl>  tags in the FTL
>> but I am not sure how to alter them to drop the /ecommerce/
>>
>> Thanks
>> Sam
>>
>>
>>
>>
>>
>>    
> 


Re: Ecommerce <@ofbizUrl> Problem

Posted by BJ Freeman <bj...@free-man.net>.
No need to duplicate data.
https://demo-trunk.ofbiz.apache.org/content/control/EditWebSite?webSiteId=WebStore


Sam Hamilton sent the following on 7/15/2010 3:12 AM:
> Could you put it in ofbiz-component.xml?
>
> Something like this?
>
> <webapp name="ecommerce_uk"
>          title="eCommerce UK"
>          server="default-server"
>          location="webapp/ecommerce_uk"
>          mount-point="/ecommerce_uk"
>          app-bar-display="false"/>
> 		
> <webapp name="ecommerce_uk"
>          title="eCommerce UK"
>          server="default-server"
>          location="webapp/ecommerce_uk"
>          mount-point="/"
>          app-bar-display="false">
> 	<virtual-host host-name="www.ecommerce.co.uk"/>
> </webapp>
>
> Sam
>
> On 15/07/2010 17:16, BJ Freeman wrote:
>> using the website entity was the direction I was going.
>> since it is defined in the web.xml of the ecommerce webapp,
>> I would like to see the websited first Identified by the incomming URL
>> http://mydomain.com, then the mountpoint appended.
>> the problems I see is going to the the backend  for say customer orders.
>> the myportal has its own webstite entity and is only good for defining
>> one incomming URL.
>> it is clunky but maybe defining in the eccommerce context the website
>> enity for myportal would solve this.
>>
>> any way if that could be accomplished they apache httpd would not be
>> needed.
>>
>> just thinking outloud.
>>
>> Scott Gray sent the following on 7/14/2010 10:53 PM:
>>> It's an interesting problem for sure.  Currently the URL writing
>>> method RequestHandler.makeLink(...) (which the ofbizUrl transform
>>> delegates to) uses the _CONTROL_PATH_ request attribute to add the
>>> control path portion of the URL.
>>>
>>> As a short term test you could try overwriting that attribute from
>>> within a groovy script in the actions of your global decorator.  That
>>> would solve the problem for URL generation but I'm not sure what else
>>> uses that attribute and could be affected by such as change.
>>>
>>> As a longer term solution, we could possibly look at adding another
>>> field for this purpose to the WebSite entity which if defined, would
>>> override the control path used in the makeLink method.
>>>
>>> Regards
>>> Scott
>>>
>>> HotWax Media
>>> http://www.hotwaxmedia.com
>>>
>>> On 15/07/2010, at 4:27 PM, Raj Saini wrote:
>>>
>>>> Hi Sam,
>>>>
>>>> It is complicated and short answer is ProxyPass directive of
>>>> mod_proxy does not rewrite the absolute links embedded in the pages
>>>> whereas OFBiz links are absolute links. The solution is to use
>>>> mod_proxy_html module to rewrite the links embedded links
>>>> http://www.apachetutor.org/admin/reverseproxies
>>>>
>>>> Regards,
>>>>
>>>> Raj
>>>>
>>>>
>>>> On 15/07/10 08:19, Sam Hamilton wrote:
>>>>> Hey Guys,
>>>>>
>>>>> I am wondering how other people get over this problem?
>>>>>
>>>>> If you have multiple websites running in OFBiz at the same time then
>>>>> they will all be mounted at different urls e.g. /ecommerce&
>>>>> /ecommerce2
>>>>> &    /ecommerce3 for three different websites.
>>>>>
>>>>> Now its easy to setup ajp/httpd to point www.ecommerce.com to
>>>>> /ecommerce
>>>>> and then www.ecommerce2.com to /ecommerce2 etc.
>>>>>
>>>>> But when you do this then go to www.ecommerce.com and try and click any
>>>>> of the links it has automatically added the mount point back into the
>>>>> url e.g. www.ecommerce.com/ecommerce/control/view/showcart but these
>>>>> 404
>>>>> because we have done the trickery with ajp to try and hide the mount
>>>>> point.
>>>>>
>>>>> I have found that it is something to do with<@ofbizUrl>    tags in
>>>>> the FTL
>>>>> but I am not sure how to alter them to drop the /ecommerce/
>>>>>
>>>>> Thanks
>>>>> Sam
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>
>

Re: Ecommerce <@ofbizUrl> Problem

Posted by Sam Hamilton <sa...@sh81.com>.
Could you put it in ofbiz-component.xml?

Something like this?

<webapp name="ecommerce_uk"
        title="eCommerce UK"
        server="default-server"
        location="webapp/ecommerce_uk"
        mount-point="/ecommerce_uk"
        app-bar-display="false"/>
		
<webapp name="ecommerce_uk"
        title="eCommerce UK"
        server="default-server"
        location="webapp/ecommerce_uk"
        mount-point="/"
        app-bar-display="false">
	<virtual-host host-name="www.ecommerce.co.uk"/>
</webapp>

Sam

On 15/07/2010 17:16, BJ Freeman wrote:
> using the website entity was the direction I was going.
> since it is defined in the web.xml of the ecommerce webapp,
> I would like to see the websited first Identified by the incomming URL
> http://mydomain.com, then the mountpoint appended.
> the problems I see is going to the the backend  for say customer orders.
> the myportal has its own webstite entity and is only good for defining
> one incomming URL.
> it is clunky but maybe defining in the eccommerce context the website
> enity for myportal would solve this.
> 
> any way if that could be accomplished they apache httpd would not be
> needed.
> 
> just thinking outloud.
> 
> Scott Gray sent the following on 7/14/2010 10:53 PM:
>> It's an interesting problem for sure.  Currently the URL writing
>> method RequestHandler.makeLink(...) (which the ofbizUrl transform
>> delegates to) uses the _CONTROL_PATH_ request attribute to add the
>> control path portion of the URL.
>>
>> As a short term test you could try overwriting that attribute from
>> within a groovy script in the actions of your global decorator.  That
>> would solve the problem for URL generation but I'm not sure what else
>> uses that attribute and could be affected by such as change.
>>
>> As a longer term solution, we could possibly look at adding another
>> field for this purpose to the WebSite entity which if defined, would
>> override the control path used in the makeLink method.
>>
>> Regards
>> Scott
>>
>> HotWax Media
>> http://www.hotwaxmedia.com
>>
>> On 15/07/2010, at 4:27 PM, Raj Saini wrote:
>>
>>> Hi Sam,
>>>
>>> It is complicated and short answer is ProxyPass directive of
>>> mod_proxy does not rewrite the absolute links embedded in the pages
>>> whereas OFBiz links are absolute links. The solution is to use 
>>> mod_proxy_html module to rewrite the links embedded links
>>> http://www.apachetutor.org/admin/reverseproxies
>>>
>>> Regards,
>>>
>>> Raj
>>>
>>>
>>> On 15/07/10 08:19, Sam Hamilton wrote:
>>>> Hey Guys,
>>>>
>>>> I am wondering how other people get over this problem?
>>>>
>>>> If you have multiple websites running in OFBiz at the same time then
>>>> they will all be mounted at different urls e.g. /ecommerce&  
>>>> /ecommerce2
>>>> &   /ecommerce3 for three different websites.
>>>>
>>>> Now its easy to setup ajp/httpd to point www.ecommerce.com to
>>>> /ecommerce
>>>> and then www.ecommerce2.com to /ecommerce2 etc.
>>>>
>>>> But when you do this then go to www.ecommerce.com and try and click any
>>>> of the links it has automatically added the mount point back into the
>>>> url e.g. www.ecommerce.com/ecommerce/control/view/showcart but these
>>>> 404
>>>> because we have done the trickery with ajp to try and hide the mount
>>>> point.
>>>>
>>>> I have found that it is something to do with<@ofbizUrl>   tags in
>>>> the FTL
>>>> but I am not sure how to alter them to drop the /ecommerce/
>>>>
>>>> Thanks
>>>> Sam
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>


Re: Ecommerce <@ofbizUrl> Problem

Posted by BJ Freeman <bj...@free-man.net>.
using the website entity was the direction I was going.
since it is defined in the web.xml of the ecommerce webapp,
I would like to see the websited first Identified by the incomming URL
http://mydomain.com, then the mountpoint appended.
the problems I see is going to the the backend  for say customer orders.
the myportal has its own webstite entity and is only good for defining 
one incomming URL.
it is clunky but maybe defining in the eccommerce context the website 
enity for myportal would solve this.

any way if that could be accomplished they apache httpd would not be needed.

just thinking outloud.

Scott Gray sent the following on 7/14/2010 10:53 PM:
> It's an interesting problem for sure.  Currently the URL writing method RequestHandler.makeLink(...) (which the ofbizUrl transform delegates to) uses the _CONTROL_PATH_ request attribute to add the control path portion of the URL.
>
> As a short term test you could try overwriting that attribute from within a groovy script in the actions of your global decorator.  That would solve the problem for URL generation but I'm not sure what else uses that attribute and could be affected by such as change.
>
> As a longer term solution, we could possibly look at adding another field for this purpose to the WebSite entity which if defined, would override the control path used in the makeLink method.
>
> Regards
> Scott
>
> HotWax Media
> http://www.hotwaxmedia.com
>
> On 15/07/2010, at 4:27 PM, Raj Saini wrote:
>
>> Hi Sam,
>>
>> It is complicated and short answer is ProxyPass directive of mod_proxy does not rewrite the absolute links embedded in the pages whereas OFBiz links are absolute links. The solution is to use  mod_proxy_html module to rewrite the links embedded links http://www.apachetutor.org/admin/reverseproxies
>>
>> Regards,
>>
>> Raj
>>
>>
>> On 15/07/10 08:19, Sam Hamilton wrote:
>>> Hey Guys,
>>>
>>> I am wondering how other people get over this problem?
>>>
>>> If you have multiple websites running in OFBiz at the same time then
>>> they will all be mounted at different urls e.g. /ecommerce&   /ecommerce2
>>> &   /ecommerce3 for three different websites.
>>>
>>> Now its easy to setup ajp/httpd to point www.ecommerce.com to /ecommerce
>>> and then www.ecommerce2.com to /ecommerce2 etc.
>>>
>>> But when you do this then go to www.ecommerce.com and try and click any
>>> of the links it has automatically added the mount point back into the
>>> url e.g. www.ecommerce.com/ecommerce/control/view/showcart but these 404
>>> because we have done the trickery with ajp to try and hide the mount point.
>>>
>>> I have found that it is something to do with<@ofbizUrl>   tags in the FTL
>>> but I am not sure how to alter them to drop the /ecommerce/
>>>
>>> Thanks
>>> Sam
>>>
>>>
>>>
>>>
>>>
>>>
>>
>

Re: Ecommerce <@ofbizUrl> Problem

Posted by Scott Gray <sc...@hotwaxmedia.com>.
It's an interesting problem for sure.  Currently the URL writing method RequestHandler.makeLink(...) (which the ofbizUrl transform delegates to) uses the _CONTROL_PATH_ request attribute to add the control path portion of the URL.  

As a short term test you could try overwriting that attribute from within a groovy script in the actions of your global decorator.  That would solve the problem for URL generation but I'm not sure what else uses that attribute and could be affected by such as change.

As a longer term solution, we could possibly look at adding another field for this purpose to the WebSite entity which if defined, would override the control path used in the makeLink method.

Regards
Scott

HotWax Media
http://www.hotwaxmedia.com

On 15/07/2010, at 4:27 PM, Raj Saini wrote:

> Hi Sam,
> 
> It is complicated and short answer is ProxyPass directive of mod_proxy does not rewrite the absolute links embedded in the pages whereas OFBiz links are absolute links. The solution is to use  mod_proxy_html module to rewrite the links embedded links http://www.apachetutor.org/admin/reverseproxies
> 
> Regards,
> 
> Raj
> 
> 
> On 15/07/10 08:19, Sam Hamilton wrote:
>> Hey Guys,
>> 
>> I am wondering how other people get over this problem?
>> 
>> If you have multiple websites running in OFBiz at the same time then
>> they will all be mounted at different urls e.g. /ecommerce&  /ecommerce2
>> &  /ecommerce3 for three different websites.
>> 
>> Now its easy to setup ajp/httpd to point www.ecommerce.com to /ecommerce
>> and then www.ecommerce2.com to /ecommerce2 etc.
>> 
>> But when you do this then go to www.ecommerce.com and try and click any
>> of the links it has automatically added the mount point back into the
>> url e.g. www.ecommerce.com/ecommerce/control/view/showcart but these 404
>> because we have done the trickery with ajp to try and hide the mount point.
>> 
>> I have found that it is something to do with<@ofbizUrl>  tags in the FTL
>> but I am not sure how to alter them to drop the /ecommerce/
>> 
>> Thanks
>> Sam
>> 
>> 
>> 
>> 
>> 
>>   
> 


Re: Ecommerce <@ofbizUrl> Problem

Posted by Raj Saini <ra...@gmail.com>.
Hi Sam,

It is complicated and short answer is ProxyPass directive of mod_proxy 
does not rewrite the absolute links embedded in the pages whereas OFBiz 
links are absolute links. The solution is to use  mod_proxy_html module 
to rewrite the links embedded links 
http://www.apachetutor.org/admin/reverseproxies

Regards,

Raj


On 15/07/10 08:19, Sam Hamilton wrote:
> Hey Guys,
>
> I am wondering how other people get over this problem?
>
> If you have multiple websites running in OFBiz at the same time then
> they will all be mounted at different urls e.g. /ecommerce&  /ecommerce2
> &  /ecommerce3 for three different websites.
>
> Now its easy to setup ajp/httpd to point www.ecommerce.com to /ecommerce
> and then www.ecommerce2.com to /ecommerce2 etc.
>
> But when you do this then go to www.ecommerce.com and try and click any
> of the links it has automatically added the mount point back into the
> url e.g. www.ecommerce.com/ecommerce/control/view/showcart but these 404
> because we have done the trickery with ajp to try and hide the mount point.
>
> I have found that it is something to do with<@ofbizUrl>  tags in the FTL
> but I am not sure how to alter them to drop the /ecommerce/
>
> Thanks
> Sam
>
>
>
>
>
>