OK domain1/sales
(These are just examples - if would be helpful to have the exact
settings and domains I am using we can have a private conversation.)

The apps have different controllers.

Richard


On Fri, Nov 18, 2011 at 1:31 AM, Jonathan Lundell <[email protected]> wrote:
> On Nov 17, 2011, at 8:20 AM, Richard Baron Penman wrote:
>
>> in fact Bruno's suggestion to use the controllers variable does work for me.
>> Previously I used what you suggest (see first post in this thread) and
>> then only the default controller was exposed.
>>
>> What error? Accessing domain/sales before returned this error:
>> invalid function (default/sales)
>
> domain/sales? Not domain1 or domain2?
>
> Do your two apps have exactly the same list of controllers?
>
>>
>> Richard
>>
>>
>> On Fri, Nov 18, 2011 at 12:24 AM, Jonathan Lundell <[email protected]> 
>> wrote:
>>> On Nov 16, 2011, at 11:53 PM, Richard Baron Penman wrote:
>>>
>>>> what web2py version are you using? I have 1.99.2
>>>>
>>>>
>>>> This is the only variable I have defined in routes.py:
>>>>
>>>> routers = dict(
>>>>  BASE  = dict(
>>>>      domains = {
>>>>          'domain1' : 'forum',
>>>>          'domain2' : 'sales',
>>>>      },
>>>>
>>>>      controllers = ['default', 'appadmin', 'view'], # also tried
>>>> 'ALL' but did not work
>>>>  ),
>>>> )
>>>
>>> Defining controllers= in the BASE router won't work. I'd expect this to 
>>> work:
>>>
>>> routers = dict(
>>>  BASE  = dict(
>>>     domains = {
>>>         'domain1' : 'forum',
>>>         'domain2' : 'sales',
>>>     },
>>>  ),
>>> )
>>>
>>> With that router, what breaks, exactly? What incoming URL and what error 
>>> message?
>>>
>>>>
>>>>
>>>> On Thu, Nov 17, 2011 at 12:56 AM, Jonathan Lundell <[email protected]> 
>>>> wrote:
>>>>> On Nov 16, 2011, at 5:32 AM, Richard Baron Penman wrote:
>>>>>
>>>>>> I found listing the controllers explicitly as Bruno mentioned fixed the 
>>>>>> problem.
>>>>>> Previously domain/non-default-controller returned: invalid function
>>>>>> (default/non-default-controller)
>>>>>> I would expect all controllers to work by default.
>>>>>
>>>>> I wrote a unit test that isn't seeing a problem. Would you please suggest 
>>>>> an input URL that would cause the problem?
>>>>>
>>>>> Thanks.
>>>>>
>>>>>
>>>>>    def test_router_domains_fs(self):
>>>>>        '''
>>>>>        Test URLs that map domains using test filesystem layout
>>>>>        '''
>>>>>        routers = dict(
>>>>>            BASE = dict(
>>>>>                domains = {
>>>>>                    "domain1.com" : "admin",
>>>>>                    "domain2.com" : "welcome",
>>>>>                },
>>>>>            ),
>>>>>        )
>>>>>
>>>>>        load(rdict=routers)
>>>>>        self.assertEqual(filter_url('http://domain1.com'), 
>>>>> '/admin/default/index')
>>>>>        self.assertEqual(filter_url('http://domain2.com'), 
>>>>> '/welcome/default/index')
>>>>>        self.assertEqual(filter_url('http://domain1.com/gae'), 
>>>>> '/admin/gae/index')
>>>>>        self.assertEqual(filter_url('http://domain2.com/other'), 
>>>>> '/welcome/other/index')
>>>>>        self.assertEqual(filter_url('http://domain1.com/gae/f1'), 
>>>>> '/admin/gae/f1')
>>>>>        self.assertEqual(filter_url('http://domain2.com/f2'), 
>>>>> '/welcome/default/f2')
>>>>>        self.assertEqual(filter_url('http://domain2.com/other/f3'), 
>>>>> '/welcome/other/f3')
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>> Richard
>>>>>>
>>>>>>
>>>>>> On Wed, Nov 16, 2011 at 2:36 PM, Jonathan Lundell <[email protected]> 
>>>>>> wrote:
>>>>>>> On Nov 15, 2011, at 8:54 PM, Bruno Rocha wrote:
>>>>>>>
>>>>>>>> On Wed, Nov 16, 2011 at 2:34 AM, Massimo Di Pierro 
>>>>>>>> <[email protected]> wrote:
>>>>>>>> this should not be the case. if it is is a bug.
>>>>>>>>
>>>>>>>>
>>>>>>>> I found this some time ago and I tough it was the default behaviour.
>>>>>>>>
>>>>>>>> for the following worked
>>>>>>>>
>>>>>>>> routers = dict(
>>>>>>>>   BASE  = dict(
>>>>>>>>       domains = {
>>>>>>>>
>>>>>>>> 'domain1.com' : 'app1',
>>>>>>>>
>>>>>>>> 'domain2.com' : 'app2',
>>>>>>>>
>>>>>>>>       },
>>>>>>>>      controllers=['default', 'appadmin', ..., ..., ..., ]
>>>>>>>>   ),
>>>>>>>> )
>>>>>>>>
>>>>>>>> I has to list every controller, also functions
>>>>>>>>
>>>>>>>
>>>>>>> It shouldn't be necessary to list the controllers (and it's not a good 
>>>>>>> idea to list controllers explicitly in the BASE router; if you need a 
>>>>>>> controller list, put it in an app-specific section).
>>>>>
>>>>>
>>>>>
>>>
>>>
>>>
>
>
>

Reply via email to