Development update no. 3

Martin Harvey's picture

The team last week updated the website whereby user sessions that have been inactive for 2 hours are automatically logged out. We made an error in implementing this change without informing or warning users before implementing this update – this was a mistake on our part and we apologise for that. To clarify the reasons for the change:

  • The original reason was that web search engines which crawl and index the site cause 'sessions' to be created (just as normal logged-in users do). This meant that resources on the server were being consumed for long periods of time by these search engines. Ultimately this all adds up to a performance problem, hence we needed to remove those sessions sooner.
  • In addition, holding user sessions open for too long is a security risk, so reducing the timeout for an inactive user session reduces this risk.

Other work last week was focused on further updates to the MySQL database software that iSpot uses. This is going well in that we have not encountered too many problems. However, an issue has become evident during testing that affects the polygons used for geographical filtering, so we are currently developing a workaround for this.

Bug fixing progress:

  • Duplicate observations being posted – work to prevent this happening has been completed and is currently undergoing testing. The root cause of this problem is complex, and our solution is to lock the submission form buttons and display a spinner until the transaction for each stage of the wizard has completed. Although not ideal, this will either solve the problem or inform us on what to do next with the wizard.
  • Improving issues with session caching – as part of the performance and user session work, we have identified that a performance improvement can be made by moving user session storage to server memory rather than database. This makes session management significantly faster. We have tested this improvement but unfortunately the downside to implementing this change is that the “who’s online” functionality would be lost, as that relies on the session information being stored in the database. We need to consider if this improvement is worth the loss in functionality.

The team will continue testing the database migration to MySQL 5.7, which is a significant piece of work. The developers will also continue to work on fixing a number of bugs:

  • Editing comments and replies on an observation or forum posting changes the date to the edit date (in progress – currently unable to replicate)
  • Date field is set to empty when you edit an observation/project