Strateji: Kullanıcı bir sayfa ayrıldığında belge kilidini

2 Cevap php

Ben yapıyorum geçerli uygulama projeleri bir dizi erişebilir bir "takım" veya şirket birkaç kullanıcılara tutan bir işbirliği app. Her proje o kendi belgeler vardır.

Ben birbirine çalışmasını ekip kullanıcıları korumak isteyen ve bu yüzden belgeleri onlara erişmek için ilk kullanıcı tarafından kilitlenmiş bir sistem kurduk. Aşağıdakilerden herhangi biri meydana geldiğinde Belge daha sonra kilidi:

  • Kullanıcı belgeyi kapatır
  • Kullanıcı kapanır ve onun / oturumu yok
  • Kullanıcı Çıkış yapmadan bıraktı ama oturumun çöp toplama belge kilidini

Bütün bu iyi çalışıyor ama bir şey düzeltmek için bırakılır ...

Ben kullanıcı belgeyi kilidini açmadan bir proje çıktığında o başka bir proje için yürümek ve başka bir belgeyi düzenlemek beri, (temelde sadece sayfa bırakır) bilmeniz gerekir.

Ben şimdiye kadar düşündüm benim tek seçenek benim temel denetleyicisi sınıf (CodeIgniter MVC) olarak http yönlendirme alıcı ve bir proje maçları görmek için url bir arama yapmak tarafından ... Sonra belgenin kilidini.

Bu http yönlendirme değişken öngörülemez olduğundan olsa güçlü bir seçenek değildir.

Sen ne yapardın? (Iki pencere aynı belge olmanın aynı kullanıcı göz ardı edilebilir bir konudur)

2 Cevap

Bunun etrafında bir yolu sayfa sol ediliyor sunucuya geri sinyal window.onUnload Javascript olay kullanarak olacaktır. Bu en tarayıcıları bu gün bir pop-up bloke çünkü iletişim Geçerli sayfadaki AJAX kullanmak için iyi olacaktır.

Onlar şu anda oturumunda düzenlerken belgesine başvuru tutun ve daha sonra bir belge açık olduğunda, kontrol ve farklı olmadığını görmek? Eğer öyleyse, bir öncekini kilidini?