Ticket #13 (closed enhancement: wontfix)
New method of storing panel_state information
| Reported by: | WanWizard | ||
|---|---|---|---|
| Priority: | low | Milestone: | |
| Component: | ExiteCMS Core | Version: | 7.2 |
| Severity: | Tweak | Keywords: | core functionality GUI |
Description
Currently, the state (open/close) of every panel is stored in a cookie, one for each panel.
As some browsers have a limit to the number of cookies that can be stored for a domain, we need to find a more efficient way of storing this information.
Change History
comment:4 Changed 4 years ago by WanWizard
After examining several methods of storing multiple values in a single cookie, I've come to the conclusion that this issue needs to be solved server side, which means either a database table or sessions.
The current code can stay unchanged, whenever a panel state is toggled, a cookie will be created. in core_functions.php, the cookies need to be retrieved, and any panel state cookies found have to be stored using the server side method selected, and then deleted.
As we don't have session support at the moment, a database table seems the obvious choice.
But what about guests? No user_id to us as a table key. How are we going to deal with that? Sessions should fix this issue, it is database independent...
comment:5 Changed 4 years ago by WanWizard
- Status changed from new to assigned
As of rev. #1225, the ExiteCMS core code has session management.
For now, the panel state is stored within the session. Changes that a user makes to the state are still stored as cookies. When the user loads a new page, these cookies are read, the session info is updated, and the cookies are deleted.
From that moment on, the CMS code uses the state information from the current session to retrieve the panel state.
Downside of this solution is that is it session specific. If the session expires, you lose state information. Also, different browsers = different session.
Maybe we should store the state in the user record as well, so it can be carried from session to session (for authenticated users only that is)
comment:8 Changed 3 years ago by WanWizard
- Status changed from assigned to closed
- Resolution set to wontfix
We've decided to close this issue.
The session timeout value can be configured, if set to one month, all the user has to do is login once a month to keep his session info available. For guests, we decided to implement no fix. Guests are passers-by, if not, they should become a member.
