Cache and personalised forms

I'd like to implement that fantastic new feature in 3.10 where you can personalise a form by having people login and it prefills data. As a precursor to this, I have removed custom forms from the cache.


So the situation will be this: A person browses around the intranet, then comes across a form. If they login, they only have to fill in half the fields. So they should be prompted to login if they want to, when they come across this form. They probably would like to login and fill in that form, view a few other pages, then fill in a couple of other forms. But this scenario creates a cache problem because they are no longer "Public user" and all asset listings will be sllloooooooowww.



What ideas do people have on how to address this? To get discussion started, some crazy thoughts are below:

  • Have intranet.example.com for all other content and intranetforms.example.com for the forms.
  • Put all LDAP users in a single group and have group level caching.
  • Have some kind of auto logout when you leave a form.
  • Change cache behaviour so that logged in users still see public cache content.

A few random development thoughts:


I'd say that an option to disable group-level caching for asset listings (or other asset types) would be useful, but then also to allow the cache to fall-back to public user caching. You'd have to be very certain that you can make a generalisation for all assets of the same type though.



The alternative is to change the caching system to have tree-level rules (like search indexing) so you can change the behavior for individual assets or groups of assets. That requires a lot more work though, and still requires the above development.