Project

General

Profile

Feature #3981

Record Locking

Added by Carsten Rose over 3 years ago. Updated about 3 years ago.

Status:
Closed
Priority:
High
Assignee:
Rafael Ostertag
Target version:
-
Start date:
27.06.2017
Due date:
% Done:

0%

Estimated time:
Discuss:

Description

QFQ benoetigt einen Mechnismus fuer ein Form/Record Locking.

Variante A: polling / websockets

  • User A bearbeitet Record X.
  • User B moechte den Record zum bearbeiten oeffnen.
    • Er bekommt einen Hinweis das A ihn geoeffnet hat und wird gefragt ob A informiert werden soll das Form zu schliessen.
    • Falls 'bitte informieren': User A hat 30 Sekunden Zeit darauf zu reagieren.
  • Weiteres Verhalten noch nicht definiert..

Variante B: Nur Hinweis

  • User A oeffnet auf Form 1 den Record X.
  • QFQ merkt sich 'primary' Table von 'Form 1', Record ID, User, IP, Zeitpunkt.
  • QFQ loescht den Lock, sobald das Form geschlossen wird oder User A ein Typo3 FE Session Timeout hat.
  • User B meochte den Record zum bearbeiten oeffnen und erhaelt einen Hinweis, das der Record bereits durch User A geoeffnet wurde (wann, IP). User kann waehhlen 'edit' oder 'cancel'.
  • Klickt User A auf Save, wird das 'modified' Datum mit dem urspruenglichen Wert verglichen (wird beim Form Load auf dem Server gespeichert, evtl als SIP).
    • Gibt es eine Aenderung kann der User auswaehlen was er tun moechte.
    • Der Unterschied wird in Form eine Tabelle angezeigt.

Hinweis - #3980


Related issues

Related to QFQ - Support #3980: Client: Bei Form Submit den Status 'submit_reason=save|save,close' mitsendenClosed2017-06-27

Related to QFQ - Support #4148: Record Locking: Alert 'Exclusive access to document timed out.' appears after successfull save and waiting expire period.Closed2017-08-02

Related to QFQ - Support #4127: Record Locking: save() impliziert 'release'Closed2017-07-28

Related to QFQ - Support #4185: Detect modified recordClosed2017-08-12

Related to QFQ - Bug #4174: record locking: error message if delete fails due to record lockingClosed2017-08-04

Related to QFQ - Feature #4172: record locking: Bob tries to delete a record and get 'status=error': Client should disable 'delete' buttonClosed2017-08-04

Related to QFQ - Feature #4144: Close/New: bei acquireLock=false anschliessend keine Nachfrage ob gespeichert werden sollClosed2017-07-31

Related to QFQ - Feature #4120: Timeout AlertClosed2017-07-22

Related to QFQ - Support #4108: FormEditor: Record LockingClosed2017-07-13

Associated revisions

Revision 5739af82 (diff)
Added by Carsten Rose over 3 years ago

Feature #3981 / Record Locking
First implementation on server side: only tag as dirty, no check during save().
dirty.php, Dirty.php, Client.php: new
Store.php: refactored fillStoreClient() to use an dedicated class.
BuildFormBootstrap.php: add hook for dirty.php

Revision 43773895 (diff)
Added by Carsten Rose over 3 years ago

Dirty.php: save SIP in dirty record

Revision a0cd3709 (diff)
Added by Carsten Rose over 3 years ago

Feature #3981 / Record Locking
First version for save - not working now.
Manual.rst: document config var SYSTEM_DIRTY_RECORD_TIMEOUT_SECONDS.
QuickFormQuery.php, Dirty.php: extend to support QFQ/save().
Client.php: fixed broken PHP Unit test
Config.php: set default for dirtyRecordTimeout.
BuildFormBootstrap.php: No dirtyUrl if dirtyMode=none.
formEditor.sql: extend definition to Form.dirtyMode, new table 'Dirty'
Fixed several unit tests for new tables.

History

#1 Updated by Carsten Rose over 3 years ago

  • Description updated (diff)

#2 Updated by Carsten Rose over 3 years ago

  • Related to Support #3980: Client: Bei Form Submit den Status 'submit_reason=save|save,close' mitsenden added

#3 Updated by Rafael Ostertag over 3 years ago

  • Status changed from New to In Progress

#5 Updated by Carsten Rose about 3 years ago

  • Related to Support #4148: Record Locking: Alert 'Exclusive access to document timed out.' appears after successfull save and waiting expire period. added

#6 Updated by Carsten Rose about 3 years ago

  • Related to Support #4127: Record Locking: save() impliziert 'release' added

#7 Updated by Carsten Rose about 3 years ago

#8 Updated by Carsten Rose about 3 years ago

  • Related to Bug #4174: record locking: error message if delete fails due to record locking added

#9 Updated by Carsten Rose about 3 years ago

  • Related to Feature #4172: record locking: Bob tries to delete a record and get 'status=error': Client should disable 'delete' button added

#10 Updated by Carsten Rose about 3 years ago

  • Related to Feature #4144: Close/New: bei acquireLock=false anschliessend keine Nachfrage ob gespeichert werden soll added

#11 Updated by Carsten Rose about 3 years ago

#12 Updated by Carsten Rose about 3 years ago

#13 Updated by Carsten Rose about 3 years ago

  • Status changed from In Progress to Closed

done

Also available in: Atom PDF