על ידי רועי_שרון* » 05 יולי 2004, 01:58
ניתן להגדיר שהSESSION יארך כך וכך זמן. -- כמה? כל מספר נראה לי לא הגיוני מסיבות אחרות.
אם אני מעוניינת לערוך קטע, ומישהו כבר עורך אותו הדבר הנכון בעיני זה שאקבל הודעת שגיאה שהקטע במצב עריכה. -- אם הקטע נערך כרגע אז מה שאת אומרת נכון. אבל יכול להיות שמי שפתח אותו במצב עריכה בכלל התכוון להעתיק משם משהו, ולא לשנות אותו. או לחילופין, התכוון לערוך אותו, אבל משהו אחר צץ ואז הוא שכח מזה. או לחילופין, ערך אותו, אבל בסוף החליט לא לשמור. או לחילופין, פשוט לקח לו יותר מדי זמן. בכל אחד מהמצבים האלה לא סביר למנוע ממישהו נוסף לבצע עריכה בקטע הזה. לכן השיטה הקונקורנטית משתמשת במבחן התוצאה: מה שבאמת השתנה.
אני מסכים איתך שאם היתה התנגשות, אז
מיזוג יתן תוצאה מוזרה, ולכן צריך להמנע ממיזוג. השורה התחתונה היא שצריך להחליט את מי מעדיפים: את זה
שהתחיל לערוך ראשון, או את זה
שגמר לערוך ראשון? אני מעדיף את זה שגמר ראשון. זה אולי לא צודק, אבל זה חכם. לדעתי.
בכל מקרה לא מדובר על מחיקת השינויים שעשה האדם השני, אלא שמירה שלהם בתור גרסת עבר של הדף, בדיוק כמו בשובר הקופות הנוכחי.
אם היתה טעות והוא קיבל הודעת שגיאה אז ברור שהפעולה לא בוצעה, וטוב שהדף נשאר או הדבר לא? -- אם השינוי שלו לא בוצע בגלל שהמקטע שונה בינתיים על ידי מישהו אחר, אז איך זה שהדף שצץ לו למטה מתחת ל-popup אינו מכיל אף אחד משני השינויים? הדף למטה הוא בעצם סרח מיותר של הבחירה הממשקית...
צריך לתת למשתמש הודעה על כך, ואולי לאפשר לו לא לעשות refresh. -- המשתמש נכנס לתהליך של עריכת הערה בודדת, שבסופו של דבר גורם לעדכון של כל הדף, ואולי גם של הערות אחרות. אני לא חושב שזה רע, אבל זה בוודאי לא דבר צפוי. ממשק של עריכת הודעה בודדת מרמז על שינוי בהערה הזו בלבד. לכן חריגה מהציפיה הזו דורשת יידוע של המשתמש.
אגב, כאן עולה בעיה מעניינת אם איפשרנו עריכה של שני מקטעים במקביל. האם סיום העריכה באחד מחייב גם סיום העריכה בשני (זה מה שנובע מ-refresh של כל הדף).
אני לא ממש מבין את הסנריו שבו זה נדרש. -- זה לא ממש נדרש כי המשתמש תמיד יכול לחזור לגרסאות עבר של הדף, אבל זה עשוי להיות נוח יותר ולתת תחושה טובה יותר של יציבות ממשקית אם המשתמש יוכל להחליט שלא לבצע את העדכון, ולהשאר עם הדף בגרסתו המקורית והלא-עדכנית (כל עוד הוא מבין שזה המצב). זה יכול להיות שימושי במקרים שרוצים לשמור את הדף או חלק ממנו לפני שמרפרשים אותו.
[u]ניתן להגדיר שהSESSION יארך כך וכך זמן.[/u] -- כמה? כל מספר נראה לי לא הגיוני מסיבות אחרות.
[u]אם אני מעוניינת לערוך קטע, ומישהו כבר עורך אותו הדבר הנכון בעיני זה שאקבל הודעת שגיאה שהקטע במצב עריכה.[/u] -- אם הקטע נערך כרגע אז מה שאת אומרת נכון. אבל יכול להיות שמי שפתח אותו במצב עריכה בכלל התכוון להעתיק משם משהו, ולא לשנות אותו. או לחילופין, התכוון לערוך אותו, אבל משהו אחר צץ ואז הוא שכח מזה. או לחילופין, ערך אותו, אבל בסוף החליט לא לשמור. או לחילופין, פשוט לקח לו יותר מדי זמן. בכל אחד מהמצבים האלה לא סביר למנוע ממישהו נוסף לבצע עריכה בקטע הזה. לכן השיטה הקונקורנטית משתמשת במבחן התוצאה: מה שבאמת השתנה.
אני מסכים איתך שאם היתה התנגשות, אז [u]מיזוג יתן תוצאה מוזרה[/u], ולכן צריך להמנע ממיזוג. השורה התחתונה היא שצריך להחליט את מי מעדיפים: את זה [b]שהתחיל[/b] לערוך ראשון, או את זה [b]שגמר[/b] לערוך ראשון? אני מעדיף את זה שגמר ראשון. זה אולי לא צודק, אבל זה חכם. לדעתי. :-)
בכל מקרה לא מדובר על מחיקת השינויים שעשה האדם השני, אלא שמירה שלהם בתור גרסת עבר של הדף, בדיוק כמו בשובר הקופות הנוכחי.
[hr]
[u]אם היתה טעות והוא קיבל הודעת שגיאה אז ברור שהפעולה לא בוצעה, וטוב שהדף נשאר או הדבר לא?[/u] -- אם השינוי שלו לא בוצע בגלל שהמקטע שונה בינתיים על ידי מישהו אחר, אז איך זה שהדף שצץ לו למטה מתחת ל-popup אינו מכיל אף אחד משני השינויים? הדף למטה הוא בעצם סרח מיותר של הבחירה הממשקית...
[u]צריך לתת למשתמש הודעה על כך, ואולי לאפשר לו לא לעשות refresh.[/u] -- המשתמש נכנס לתהליך של עריכת הערה בודדת, שבסופו של דבר גורם לעדכון של כל הדף, ואולי גם של הערות אחרות. אני לא חושב שזה רע, אבל זה בוודאי לא דבר צפוי. ממשק של עריכת הודעה בודדת מרמז על שינוי בהערה הזו בלבד. לכן חריגה מהציפיה הזו דורשת יידוע של המשתמש.
אגב, כאן עולה בעיה מעניינת אם איפשרנו עריכה של שני מקטעים במקביל. האם סיום העריכה באחד מחייב גם סיום העריכה בשני (זה מה שנובע מ-refresh של כל הדף).
[u]אני לא ממש מבין את הסנריו שבו זה נדרש.[/u] -- זה לא ממש נדרש כי המשתמש תמיד יכול לחזור לגרסאות עבר של הדף, אבל זה עשוי להיות נוח יותר ולתת תחושה טובה יותר של יציבות ממשקית אם המשתמש יוכל להחליט שלא לבצע את העדכון, ולהשאר עם הדף בגרסתו המקורית והלא-עדכנית (כל עוד הוא מבין שזה המצב). זה יכול להיות שימושי במקרים שרוצים לשמור את הדף או חלק ממנו לפני שמרפרשים אותו.