[Hippo-cms7-user] Detecting the default channel manager rest uri?

Woonsan Ko w.ko at onehippo.com
Wed Sep 12 16:11:58 CEST 2012


On 9/12/12 5:16 AM, Ard Schrijvers wrote:
> On Wed, Sep 12, 2012 at 11:08 AM, Bart van der Schans
> <b.vanderschans at onehippo.com> wrote:
>> On Wed, Sep 12, 2012 at 9:33 AM, Frank van Lankvelt
>> <f.vanlankvelt at onehippo.com> wrote:
>>> On Tue, Sep 11, 2012 at 7:32 PM, Woonsan Ko <w.ko at onehippo.com> wrote:
>>>> Hi,
>>>>
>>>> I've experienced the error, 'java.net.ConnectException: ConnectException
>>>> invoking http://127.0.0.1:8080/site/_cmsrest' when I started server on a
>>>> different port than 8080. The trouble shooting was well documented here:
>>>> -
>>>> http://www.onehippo.org/7_7/library/concepts/channels/channel-manager-troubleshooting.html
>>>>
>>>> It may depend on preferences, but I think it would be better if the scheme,
>>>> server name and port number are automatically detected somehow, with having
>>>> only the remaining path in the configuration by default.
>>>> It's not just for convenience in development, but also I guess it helps
>>>> serve multi-domain sites.
>>>>
>>> I would really like this; the plugin currently forces one to specify
>>> the uri, but it should be able to determine most of these by itself.
>>> The only exception is the context-path of the hst (though we can
>>> default to 'site' if not specified) and the mount-point of the cms
>>> rest service (again, we can easily default to '_cmsrest').
>>>
>>> Of course, there would be a problem when site and cms are running in
>>> different containers *and* one wants to run multiple instances of both
>>> applications on the same machine.  At that point, environment-specific
>>> configuration is needed, e.g. in a system property.  (note that the
>>> system property could also just point to the respective environment,
>>> i.e. -Dhippo.environment='development' or
>>> -Dhippo.environment='testing'; the plugin-specific configuration could
>>> then still be in the repository)
>>
>> Why a system property? We already store this information in the
>> "hst:channelmanagerhostgroup" property on the hst:hosts.
>>
>> I'm not sure if autodetection will really work in the end. There are
>> too many deployment scenarios in combination with reverse proxy
>> settings.
>
> That is also what I fear. It is very complex to use autodetection.
> AFAIK, there is no way from the application for example whether the
> end user sees the context path or not.

By the way, I forgot the classname, but I saw a cms channel manager 
class invoking the rest service in the *server-side* by using CXF client 
code libraries, which means it doesn't need to detect the client-side 
domain name at all. Mostly it works with its localhost.
So, autodetection seems really possible.

Regards,

Woonsan

>
> We could make it in the 7.8 a bit easier now the channels are not
> loaded through java calls but rest calls: We could get rid of the
> hst:channelmanagerhostgroup property. The hst:cmslocation on the
> hst:virtualhostgroup group would still be needed, but this has the
> advantage that the very same hst config can be used on dev, test, acct
> and prod since the domain specific property
> hst:channelmanagerhostgroup on the shared hst:hosts node could be
> removed
>
> Ard
>
>>
>> Bart
>> _______________________________________________
>> Hippo-cms7-user mailing list and forums
>> http://www.onehippo.org/cms7/support/forums.html
>
>
>


-- 
w.ko at onehippo.com     www.onehippo.com
Boston - 1 Broadway, Cambridge, MA 02142
Amsterdam - Oosteinde 11, 1017 WT Amsterdam
US +1 877 414 4776 (toll free)
Europe +31(0)20 522 4466



More information about the Hippo-cms7-user mailing list