پارس جوم :: انجمن های تخصصی جوملا

نسخه‌ی کامل: علت قفل شدن مطلب و نحوه جلوگیری
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام خدمت دوستان حرفه ای انجمن

من یه مشکلی دارم و اون اینه که اگر همزمان دو کاربر یک مطلب رو تو قسمت مدیریت باز کنن یا اینکه حتی اگر چند مطلب مختلف در یک زمان در تب های مختلف یاز کنیم بعضی هاشون باز نمیشن یا اینکه علامت قفل میاد کنارشون

و بعد باز شدن شون با مشکل رو به رو میشه و کاربر های با دسترسی پایین تر هر چی check in رو بزنن اون قفله نمیره مگر اینکه کاربر با دسترسی

super user بیاد و check in بزنه تا انو قفله بره و بشه مطلب رو باز کرد و ویرایش کرد

چطور میشه کاری کرد که اصلن این اتفاق نیفته و اون قفله نیاد یا اینکه کاربر های با دسترسی پایین تر هم وقتی check in رو میزنن براشون کار کنه


مرسی .... خیلی ممنون ....
وقتي يه كاربر در حال ويرايش يه مطلب هست كاربر دوم هم بياد همون مطلب رو ويرايش كنه ... فكر ميكنيد چه اتفاقي ميوفته ؟
يك خط شما به مطلب اضافه كرديد يه خط از مطلب هم اون حذف كرده ... خروجيتون ميشه يه چيز بي معني .
جوملا وقتي كه شخصي در حال مرور يك مطلب هست مياد يه قفل ميزاره روش كه يعني يكي درحال مرور و ويرايش مطلب هست و شما اجازه ويرايش همزمان رو نداريد .
حالا هركي كه در حال ويرايشه بياد مطلبش رو ذخيره كنه يا مثلا دكمه كنسل رو بزنه بياد بيرون مشكلي پيش نمياد ولي اگر همينطوري پنجره رو ببنديد تا عملياتي كه خودتون گفتيد انجام نشه او قفل وجود داره ...
بله می دونم اگر دو نفر بیان یه مطلب رو ویرایش کنن همزمان خروجی ش یه چیز بی معنی میشه

ولی مسئله اینه که اگر دو نفر بیان بر فرض مثال یه مطلب رو نگاه کنن یعنی فقط باز اش کردنن برای ویرایش و هنوز ذخیره رو هیچ کدوم نزدن یعنی فقط از دیتابیس خونده شده و چیزی نوشته نشده

اینو هم می دونم که تو بعضی از دیتابیس انجین ها موقع ذخیره کردن یک رکورد کل دیتابیس رو قفل می کنه توی بعضی انجین های دیگه فقط ستون و ردیف خاص رو

اما وقتی بازش می کنیم فقط داریم query می گیریم نه چیز دیگه

پس نباید قاعدتا برداره مطلب رو قفل کنه
با سلام.

تصور شما از رد و بدل کردن اطلاعات بین مدیریت محتوا و دیتابیس اشتباهِ !

دوست عزیز نه تنها جوملا بلکه اکثر مدیریت محتوا ها از این روش استفاده می کنن که وقتی یک مطلب باز می شود (حالا به قول شما فقط درحال خواندن...) جدول مربوط به مطلب مذکور را آزاد گذاشته و در حال ویرایش تلقی می کند !! خواه شما در حال مطالعه باشید یا در حال ویرایش...

نقل قول: مگر اینکه کاربر با دسترسی super user بیاد و check in بزنه تا انو قفله بره و بشه مطلب رو باز کرد و ویرایش کرد

در جوملا :
دریافت هرگونه اطلاعات ( مطالب - ماژول ها - کامپوننت ها و زیر شاخه آن ها) در لحظه ای که یک IP در حال ویرایش اطلاعات از جداول دیتابیس هست اگر کاربری با IP دیگر وارد شده و همان مطلب را باز کند قفلی کنار مطلب قرار داده و آن را مطلب مشکوک می خواند.

در کامپوننت های امنیتی جدید نیز این اتفاق قابل تعریف است که حین رخ دادن این اتفاق کاربر دوم را بلوک کند یا خیر .

شما می توانید به کاربرانتان توضیح دهید که وقتی ، قفلی کنار هر مطلبی مشاهده کردند آن را باز نکنند و بدانند که شخص دیگری در حال خواندن یا ویرایش آن است...

ببخشید اگر کتابی نوشم (همانطور که سر کلاس ها ...)

موفق باشید
اولا خیلی مممنون

دوم خواهش می کنم خیلی هم خوب و عالی
((( در کامپوننت های امنیتی جدید نیز این اتفاق قابل تعریف است که حین رخ دادن این اتفاق کاربر دوم را بلوک کند یا خیر . )))))
اما آیا افزونه امنیتی و رایگان می شناسید که بشه توش تنظیم کرد و از قفل کردن مطلب جلوگیری کنه ؟؟
نه متاسفانه رایگان نیستن ...

از قفل کردن مطلب جلوگیری نمیکنه اما کاربر دوم رو به عنوان هکر شناسایی میکنه و ip اونو می بنده...
برا این کار بهتره استفاده نشه
لینک مرجع