לוח שנה משותף בין משתמשים

תיאור כללי:
אופציה ליצור לוח שנה משותף בין שני משתמשים או יותר.
בלוח שנה זה לכל משתמש תהיה רמת הרשאות המאפשרת או מונעת מהמשתמש יכולות מסוימות:
א. רמת מנהל - צפייה, עריכה, יצירה של אירועים, יכולת להזמין ולמחוק משתמשים אחרים ועריכת הרשאות.
ב. רמת עורך - צפייה, עריכה של אירועים.
ג. רמת צופה - צפייה בלבד.

אופן המימוש:
המשתמש ילחץ על לחצן יצירת לוח שנה משותף.
בחלון חדש המשתמש ימלא את שם לוח השנה, את פרטי הזיהוי של משתמשים נוספים שירצה לשתף בלוח, וליד כל משתמש יבחר את רמת ההרשאה של המשתמש.

שינויים בקוד:
עלול לגרום לשינויים בקוד קיים - תלוי איך נשלב את הפיטצ’ר.

דוגמה א’ - לוח השנה המשותף ישוייך למשתמש היוצר והמערכת תתנהג אל לוח זה כמו אל שיתוף לוח שנה רגיל + מתן הרשאות למשתמשים - ככל הנראה יגרום לצורך בשינוי קוד קיים.

דוגמה ב’ - לוח השנה המשותף לא ישוייך למשתמש והמערכת תתנהג אליו כאל לוח חיצוני (אני מניח כמו לוחות כללים - לוח חגי ישראל) אבל נסתר למשתמשים זרים ורק למשתמשים מוזמנים תהיה גישה והרשאות - לא יגרום לשינויים בקוד קיים.

שינויים במסד הנתונים:
כן, שמירת הנתונים של לוח שנה נוסף.
היקשרות המשתמש ללוח השנה המשותף.

האם היא דורשת fronted?
כן, נדרש לחצן ליצירת לוח שנה משותף המוביל לחלון יצירת לוח שנה משותף.
נדרש לחצן לשיתוף לוח השנה המשותף המוביל לחלון הזנת פרטי המשתמש המוזמן.
נדרש להוסיף את לוח השנה המשותף לרשימת לוחות השנה שהמשתמש רואה(לדוגמה: לוח חגי ישראל וכו’ ).
נדרש חלון הגדרות הלוח המשותף (בו יופיע: שם הלוח, רשימת משתתפים והרשאותהם)

אילו טסטים יגרמו לטיקט להיחשב כ"עובד":
ניתן ליצור לוח משותף בין משתמשים ולראות ממשתמש א’ את השינויים שנעשו בלוח על ידי משתמש ב’.
כלל הלחצנים והחלונות המפורטים עובדים וממלאים את תפקידם.
לוח השנה המשותף נוסף בתצוגה הראשית של המשתמש וברשימת לוחות שנה נוספים של המשתמש.
רמות ההרשאות השונות עובדות/מוגבלות לפי הפירוט ומקיימות את פעולותיהן כמצופה.

אשמח לקבל המלצות ותגובות ליעול ושיפור :slight_smile:

6 לייקים

מקפיץ נשמע כמו פיצר מעניין מאוד.

ממליץ להסתכל על doodle - אתר שעושה בדיוק את זה.
בשיטה של “סימון זמנים שאני פנוי לפגישות” בלוז משותף לכמה משתתפים.

מבקש בדיקה.

נשמע מצוין!
מחזק את אביעד שכדאי לבחון את Doodle בהקשר הזה.
הייתי שמח לראות Mock + ERD לפני שאתה מתחיל לעבוד.
בהצלחה!

מצרף ERD ו- Mock.
shared_calendar_erd_n_mock.zip (90.0 ק״ב)

  1. לא הייתי שם את אחד מהתפקידים כ־NULL, זה פחות קריא ויכניס אותנו להמון מצבי קצה מעצבנים במקרים של השוואות
  2. לעניות דעתי עדיף לא לשים את username כ־PK, כי אז בכל פעם שנרצה להתייחס אליו ב־FK נצטרך להשתמש במחרוזת המלאה ונראה לי שזה פחות חסכוני ומשהו שמעט יותר קשה לחפש עליו (השוות מחרוזת קשה יותר מהשוואת מספר מבחינה חישובית. למרות שאני בטוח שמסדי הנתונים עושים קסמים מאחורי הקלעים, אבל בוא לא נסתמך על זה).
  3. אולי שווה לוותר על private_calendar ולתת למשתמש לבחור את ההרשאות שבא לו עבור כל לוח שנה שהוא?

בכ"מ הפיצ’ר מאושר, בהצלחה :slight_smile:

2 לייקים

מסכים לגמרי עם 1 ו-2.
לגבי 3 אנסה לדייק מה עבר לי במחשבה :slight_smile:
המטרה של private_calendar היא לדעת לקשר בין משתמש ללוח השנה הראשי שלו(שנוצר בזמן יצירת המשתמש).
אם המשתמש ירצה, הוא יוכל לשתף את לוח השנה הראשי עם אחרים אבל הוא לא יוכל לצאת או למחוק את לוח השנה הראשי שלו.
האמת שתוך כדי שאני כותב את זה אני שואל את עצמי למה? למה לא לאפשר לו למחוק את הראשי? שיעשה מה שהוא רוצה… לא? :sweat_smile:

לייק 1

עדיף לוודא שיש לו לוח שנה בכל רגע נתון. חוץ מזה שישתולל, לדעתי

אני חושבת שזה קצת מתנגש עם הפיצ׳ר שלי שאושר לפרטיות של לוח שנה חלק מההצעה פה לא?

מהבחינה שצריך להחליט מי עורך את הdb ואיך

מי שיממש שני ישתמש ו/או ירחיב את הפיצ’ר של זה שסיים ראשון.
אני לא חושב שזה סופר בעייתי, כאן לעזרה בכ"מ

לייק 1