Merhaba arkadaşlar.
Bir haber sitesi projesi üzerinde çalışıyorum. Sorunum basit ama mantığı kuramadım.
Birden fazla editörü olan haber sitesi için varsayımda bulunursak; aynı anda iki veya daha fazla yönetici aynı haberi düzenlemeye çalışırsa işler karışır. Bunu engellemek istiyorum. Mesela wordpress'te bu sorunun önüne geçilmiş. Xxx adlı yönetici bu içeriği düzenliyor diye uyarı gösteriyora WP'de. Buna benzer bir işlemi nasıl yapabilirim? İçerik tablosunda editing sütunu açıp düzenlenirken 1 versem düzenleme bitince 0 yapsam sorun çözülüyor. Ama bu sefer de örneğin editör düzenlemeyi bitirmeden tarayıcıyı kapatırsa o içerik sürekli düzenleniyor gibi kalacak. Bunu nasıl çözebilirim?
Yönetim Paneli'nde farklı yöneticiler aynı içeriği düzenleyemesin istiyorum
9
●416
- 17-09-2019, 05:37:57
- 17-09-2019, 12:07:29Session ile nasıl halledebilirim ki? Sonuçta kilidin kalkması için sql sorgusu çalışmalı. Pencere yada tarayıcı kapanacağı için de soruyu çalıştıracak bir ortam olmayacak. Cron kullanılabilir belki ama nasıl bir işleyiş olmalıScorpion2763 adlı üyeden alıntı: mesajı görüntüle
Cevabınız için teşekkürler ancak pek kafama yatmadı. Daha işlevsel birşeyler bulunabilir diye düşünüyorumKingCoder adlı üyeden alıntı: mesajı görüntüle - 17-09-2019, 14:32:40Kimlik doğrulama veya yönetimden onay bekliyor.Makaleyi düzenlemeye başlayan editörün bulunduğu sayfada ajax ile her 10 saniyede 1 durum güncellemesi sağlayabilirsiniz. Ajax ile sürekli son aktivite saati güncellenir. Eğer 1 dakikadan uzunsa diğer editörler düzenleyebilirler.
- 17-09-2019, 19:40:42Teşekkürler hocam mantıklı olabilir. Benim esasen aklıma takılan şey, tarayıcı kapandığında veya kullanıcının oturumu sona erdiği anda bir sql sorgusu çalıştırılabilir mi?GHS adlı üyeden alıntı: mesajı görüntüle
- 17-09-2019, 20:29:13Sayfanın kapatılması esnasında bir istek gönderebilirsiniz ama tutarlı olmaz. Tarayıcı işlemlerden sonlandırılabilir, elektrik kesilebilir, bilgisayar crash verebilir. Muhtemelen üstte yazdığım en stabil hali olur.parsmedya33 adlı üyeden alıntı: mesajı görüntüle
- 17-09-2019, 23:37:56Haklısınız hocam. Peki WordPress bu işi nasıl yapıyor? Bu konuda bilgi sahibi olan arkadaş var mı acaba? WP'nin mantığını taklit edebilirim belki ama kodları incelemeye kalksam muhtemelen bulamam. WP konusunda uzman Bi arkadaş biliyordur belki?GHS adlı üyeden alıntı: mesajı görüntüle
- 18-09-2019, 00:06:54Selamlar, aslında mantığı arkadaşların dediği gibi güzel kurgulamışsın editleme işlemi olana kadar sadece o kullanıcıya editleme izni için tabloya userid ile kilitlemeyi 1 yaparsın, ayrıca son_edit_time diye bi alan açıp session değeri kadar ortalama 15dk sonraki zaman damgası ile eklersin. Eğer kullanıcı tarayıcı açık bıraktı veya düzenlemeden çıktı ise başka bir kullanıcı girdiğinde zaman damgasını kontrol ettirirsin eğer süre geçmiş ise diğer userid ile aynı kilitleme işlemi aynı zaman damgasını update edersin tabloya ve sorun çözülmüş olur
Eğer bu 15 dk çok uzun süre dersen ajax ile 90 ' sn de bir kontrol ettirirsin oda kesmez ben anlık işlem yapmak istiyorum dersen socket.io ve elephant.io yu araştırmanı öneririm
Ama ben olsam bu aşamada ajax ile 90 'sn de kontrol ettiririm