Can't you just create a regular Python module, store the settings in there, 
and import the module in your app code in order to access the settings? If 
it's an app-level module (i.e., in the application's /module folder), you 
can even create and edit it via the admin interface. To get such modules to 
reload automatically upon changes, just add the following to your app code:

from gluon.custom_import import track_changes; track_changes(True)

Anthony

On Thursday, April 5, 2012 2:37:45 PM UTC-4, Alex wrote:
>
> First it must be decided if the configuration should be on the server or 
> on the application level. A configuration per application would be more 
> flexible so I'd prefer that. Basically all that's needed is a configuration 
> file which could be similar like the language translation file. The 
> settings should only be read once when web2py is started. It would be 
> convenient to edit the configuration in the admin interface (on an own page 
> like the database administration). In the admin interface the settings 
> could automatically be refreshed when they are changed so you would not 
> have to restart web2py in this case just to reload the configuration.
>
> In the application itself all you need is a method to read those settings 
> from the configuration. Maybe this could be added to the cache object but 
> I'm not really sure if this would fit in there. e.g.
> connection = cache.get_configuration_property('dbconnection')
>
> if not added to the cache a global application object would probably be 
> necessary.
>
> Am Donnerstag, 5. April 2012 00:48:24 UTC+2 schrieb Anthony:
>>
>> Do you have a proposal for how web2py should do this?
>>
>> On Wednesday, April 4, 2012 6:23:11 PM UTC-4, Alex wrote:
>>>
>>> each app is running in an own instance with an own webserver and of 
>>> course an own URL. But I cannot distinguish by the URL because this does 
>>> not work for cron jobs.
>>>
>>> I think the solution with reading a properties file and caching is fine 
>>> for me. Still, I think this feature is necessary for almost every real 
>>> world application and thus it would be good to have it in web2py. For 
>>> example in java application servers you can configure db connections in the 
>>> admin console and access them via jndi. In grails there is an own 
>>> environment configuration so e.g. you can set different data sources, log 
>>> settings and so on for testing, development and production environment (and 
>>> of course you could use your own environment, e.g. customer specific).
>>>
>>> Alex
>>>
>>> Am Mittwoch, 4. April 2012 04:04:08 UTC+2 schrieb Anthony:
>>>>
>>>> thanks for the cache info. I think that's the way to go for me. I'll 
>>>>> create a function to read the connection properties and add the cache 
>>>>> decorator for the function. It is still just a workaround but at least it 
>>>>> should not have any performance penalties.
>>>>>
>>>>> I'm still wondering why such an essential feature is missing...
>>>>>
>>>>
>>>> How do you know which customer is accessing the app -- does something 
>>>> in the URL distinguish customers? Whatever it is, can't you just create a 
>>>> dictionary mapping the relevant request parameter to the appropriate data 
>>>> source URI and either keep that dictionary in a model file or import it 
>>>> from a module?
>>>>
>>>> Anthony 
>>>>
>>>

Reply via email to