ספר ההדרכה / איך בנוי גרף אוטומציה

איך בנוי גרף אוטומציה

"עורך האוטומציות" הוא לוח אחד שבו גוררים "ריבועים" (nodes) ומחברים ביניהם עם חוטים (edges). לכל אפליקציה יש גרף אחד שמכיל את כל האוטומציות של כל המסכים.

שלושת סוגי הריבועים

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

כללי חיווט

  • מיציאה נתונה אפשר להוביל למקום אחד בלבד - חיווט חדש מאותה יציאה פשוט מחליף (מזיז) את החוט הקודם, לא מוסיף עוד ענף.
  • הריצה מתחילה מריבוע אירוע ומתקדמת חוט-אחרי-חוט, מריצה תנאים ופעולות בסדר, עד שהיא "נופלת" מהגרף (אין יותר חוט) או מגיעה לריבוע שכבר ביקרה בו באותה ריצה (שומר מפני לולאה אינסופית).
  • אין אכיפת שדות חובה על שמירה - אפשר לשמור ריבוע פעולה עם שדות ריקים; בזמן ריצה הפעולה פשוט "לא עושה כלום" בשקט (למשל dbSet בלי collection/key). זו הסיבה שפרק "חובה מול מומלץ" חשוב לבדוק ידנית.
איך זה באמת רץ באפליקציה המפורסמת

הגרף הוא לא "דימון" שרץ ברקע - הוא בעצם אוסף של מאזיני אירועים רגילים (קליק, גלילה למסך, חיבור/ניתוק לאינטרנט, הודעת WebSocket, טיימר וכו׳). ברגע שאחד מהם נורה בדפדפן של המבקר, המנוע פשוט הולך חוט-אחרי-חוט מהריבוע ההוא והלאה.