• Jérome Perrin's avatar
    preferences: clear cache in a more clever way · b55661f3
    Jérome Perrin authored
    Introduce something similar to "cache cookie", but more suitable for
    preferences that depend both on the site configuration and user
    preferences.
    
    We store for each user a value in _preference_cache and we modify this
    value each time user change his user preference. This value is then
    used part of the a cache key.
    The same mechanism happen with a global value for site and group
    preferences. See _getCacheId docstring for more details.
    
    This way, when one user modify their preference this does not reset
    cache for every user.
    
    Because we have proper invalidation, increase the case duration by using
    erp5_ui_short instead of erp5_ui_long
    
    This is applied to both preference methods and to templates documents
    inside preferences.
    
    test_system_preference_value_prefererred_clear_cache_disabled is updated
    to use another preference name, because it was same as in a previous
    test, so that we don't have test isolation problems.
    b55661f3
testPreferences.py 31.1 KB