In-Portal Issue Tracker

Welcome to the In-Portal Open Source CMS Issue Tracker! This is a central management / tracking tool for all types of tasks / issues / bugs for the In-Portal Project. Before reporting any issues, please make sure to read the Guide into Issue Tracker and How to Properly Test and Report Bugs!

Viewing Issue Simple Details Jump to Notes ] Wiki ] View Advanced ] Issue History ] Print ]
ID Category Type Reproducibility Date Submitted Last Update
0000682 [In-Portal CMS] Database bug report always 2010-04-08 22:52 2010-04-08 22:53
Reporter Dmitry View Status public Project Name In-Portal CMS
Assigned To Developer
Priority normal Resolution open Fixed in Version
Status active Product Version 5.0.3-B2 Target Version Icebox
Time EstimateNo estimate
Summary 0000682: Refactor "Item Open for Editing" mechanisms
Description When user clicks "Edit", then we are checking, that given record(-s) is not being edited by another user already and we are showing warning message to the user about that, so he can immediately cancel editing to prevent possible data loss.

Currently it's implemented by scanning all temporary tables in database and searching our record ID in them. In case, when there are several administrators adding/editing data all the time, then you will have a lot of temporary tables at the end.

Idea of refactoring is to create table, where all items, that are being edited (not added) right now are listed. So instead of database scan we will need only to execute select to that table. Of course we need to add more code to properly update data in that table, so it will be actual in any moment.

Also, I would make sure that TMP tables are properly deleted whenever Session is gone - should be done by an Agent (running Session Expiration or may be different one).

We actually could place SessionKey into that new table, so we delete records by SessionKey, when session got expired.
Additional Information We have data loss prevention system, that consists of several parts (all
only in administrative console):

1. [on by default] Data from tables being edited not directly, but via
   temporary tables created for each user individually (when user clicks
   "Add"/"Edit" buttons). When user clicks "Save" button on editing form, then
   data is copied back from temporary table to original live table.
2. [off by default] When user clicks "Edit", then we are checking, that
   given record(-s) is not being edited by another user already and we are
   showing warning message to the user about that, so he can immediately cancel
   editing to prevent possible data loss

3. [on by default] when user clicks "Save" button on editing form we are
   locking table, so nobody else in that moment couldn't overwrite data user is
   saving right now

Original idea by Sergey.
Tags No tags attached.
Reference [url][/url]
Change Log Message
Estimate Points 0
Attached Files

- Relationships Relation Graph ] Dependency Graph ]

There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2010-04-08 22:53 Dmitry Additional Information Updated View Revisions
2010-04-08 22:52 Dmitry New Issue
2010-04-08 22:52 Dmitry Reference => [url][/url]

Web Development by Intechnic
In-Portal Open Source CMS
In-Portal Open Source CMS
Copyright © 2000 - 2009 MantisBT Group

Powered by Mantis Bugtracker