ישויות מותאמות
למדו כיצד ליצור ולנהל אובייקטי נתונים מותאמים מעבר לישות Users המובנית.
מה הן ישויות מותאמות?
ישויות מותאמות (נקראות גם Custom Objects) מאפשרות להגדיר ולשמור כל סוג של נתונים מובנים בתוך Joryio. חשבו עליהן כעל טבלאות מסד נתונים מותאמות שאפשר ליצור דרך הממשק.
שימושים נפוצים:
- מוצרים - שמירת קטלוג מוצרים עם מחירים, SKU ותיאורים
- הזמנות - מעקב היסטוריית הזמנות ונתוני רכישה
- מלאי - ניהול רמות מלאי ונתוני מחסן
- תוכן - שמירת מאמרים, סרטונים או תוכן אחר
- מיקומים - שמירת מיקומי חנויות או משרדים
- Deals - מעקב הזדמנויות מכירה
- Subscriptions - ניהול תוכניות ורמות מנוי
יכולות מרכזיות
הגדרת סכימה גמישה
- הגדרת שדות מותאמים עם יותר מ־18 סוגי שדות
- הגדרת כללי אימות לכל שדה
- הוספת אינדקסים לביצועי חיפוש
- שליטה בנראות השדות וסדר התצוגה
פעולות CRUD מלאות
- יצירה, קריאה, עדכון ומחיקה של רשומות
- יכולות ייבוא בכמות גדולה
- חיפוש וסינון רשומות
- ייצוא נתונים
יכולות מתקדמות
- Audit Trail - מעקב אחר כל שינוי ברשומות
- Versioning - היסטוריה של שינויים ברשומות
- Soft Delete - סימון רשומות כמחוקות במקום מחיקה
- Relationships - קישור בין ישויות (יכולת עתידית)
התחלה
יצירת הישות הראשונה
-
עברו ל־Entities מהתפריט הראשי
-
לחצו "Create Entity"
-
הגדירו הגדרות בסיסיות:
- Display Name (למשל, "Products")
- Internal Name (למשל, "products") - אותיות קטנות וקו תחתון בלבד
- Description
- Display Field - איזה שדה להציג ברשימות
-
הוסיפו שדות למבנה הנתונים שלכם
-
הגדירו הגדרות לפי הצורך
-
לחצו "Create"
דוגמה: ישות Products
בואו ניצור ישות Products לשמירת קטלוג המוצרים:
הגדרות ישות:
- Display Name:
Products - Internal Name:
products - Display Field:
name - Description:
Product catalog with pricing and inventory
שדות:
-
SKU (String)
- Required: Yes
- Unique: Yes
- Indexed: Yes
-
Name (String)
- Required: Yes
- Max Length: 255
-
Description (Markdown)
- Required: No
-
Price (Currency)
- Required: Yes
- Min: 0
-
Stock Quantity (Integer)
- Required: Yes
- Min: 0
-
Image URL (Image URL)
- Required: No
-
Category (String)
- Indexed: Yes
-
Active (Boolean)
- Default: true
סוגי שדות
Joryio תומכת ביותר מ־18 סוגי שדות:
סוגי טקסט
- String - טקסט קצר (שמות, כותרות)
- Email - כתובות אימייל עם אימות תקינות
- Phone - מספרי טלפון
- URL - כתובות אינטרנט עם אימות תקינות
- Markdown - טקסט עשיר עם תמיכה ב־Markdown
- HTML - תוכן HTML גולמי
- JSON - נתוני JSON מובנים
סוגים מספריים
- Number - מספרים עשרוניים
- Integer - מספרים שלמים בלבד
- Currency - ערכי כסף עם דיוק עשרוני
- Percentage - ערכי אחוז
סוגי תאריך/זמן
- Date - תאריך בלבד (ללא שעה)
- DateTime - תאריך ושעה
סוגים נוספים
- Boolean - ערכי true/false
- Image URL - כתובות לתמונות (מציג תמונה ממוזערת)
- File URL - כתובות לקבצים
סוגים עתידיים
- Reference - קישור לישות אחרת (בקרוב)
- Array - ערכים מרובים (בקרוב)
אימות שדות
הגדירו כללי אימות לכל שדה:
כללי אימות נפוצים
- Required - השדה חייב להכיל ערך
- Unique - ערכים חייבים להיות ייחודיים
- Min/Max - למספרים (למשל, price >= 0)
- Min/Max Length - למחרוזות (למשל, SKU באורך 5–20 תווים)
- Pattern - אימות באמצעות ביטוי רגולרי
- Enum - הגבלה לערכים ספציפיים
דוגמאות
שדה אימייל:
Type: Email
Required: Yes
Validation: Email format automatically validated
שדה מחיר:
Type: Currency
Required: Yes
Min: 0
Max: 999999
שדה SKU:
Type: String
Required: Yes
Unique: Yes
Min Length: 5
Max Length: 20
Indexed: Yes
ניהול רשומות
הוספת רשומות
- פתחו את הישות שלכם מרשימת Entities
- לחצו "Add Record"
- מלאו את הטופס (נוצר אוטומטית לפי הסכימה)
- לחצו "Create"
הטופס מתאים את עצמו אוטומטית לסוגי השדות:
- שדות String → קלט טקסט
- שדות Number → קלט מספרי
- שדות Date → בורר תאריך
- שדות Boolean → תיבות סימון
- ועוד...
צפייה ברשומות
רשומות מוצגות בטבלה דינמית עם עמודות לכל שדה:
- מיון לפי כל עמודה
- חיפוש בכל השדות
- מעבר בין עמודים במערכי נתונים גדולים
- תצוגה לפי סוג (תאריכים, מטבע, תמונות)
עריכת רשומות
- לחצו על סמל העריכה ליד רשומה
- ערכו את השדות
- לחצו "Update"
כל השינויים מתועדים אם יומן הביקורת מופעל.
מחיקת רשומות
- לחצו על סמל המחיקה ליד רשומה
- אשרו מחיקה
אם האפשרות Soft Delete מופעלת, הרשומות מסומנות כמחוקות אך לא נמחקות ממסד הנתונים.
היסטוריית שינויים
כל ישות שומרת יומן ביקורת לכל רשומה, שאפשר לעיין בו בממשק. הכפתור History בעמוד הרשומות (וגם בכל רשומה בנפרד) פותח מגירה שמפרטת כל יצירה, עדכון ומחיקה: אילו שדות השתנו, מי ביצע את השינוי, מתי, ומה היו הערכים לפני השינוי ואחריו. השתמשו בו כדי לראות כיצד רשומה התפתחה או לחקור ערך בלתי צפוי.
הגדרות ישות
Audit Trail
כאשר מופעל, Joryio עוקבת אחרי:
- מי יצר/שינה כל רשומה
- מה השתנה
- מתי השינויים התרחשו
ניתן לגשת ליומנים דרך ה־API או ממשק הניהול.
Versioning
שמירה על היסטוריה מלאה של שינויים ברשומות:
- חזרה לגרסאות קודמות
- השוואת גרסאות
- מעקב אחרי התפתחות הנתונים
Soft Delete
במקום למחוק רשומות לצמיתות:
- מסמנים כמחוקות עם דגל
- שומרים נתונים לצורך עמידה בדרישות
- משחזרים רשומות מחוקות במידת הצורך
Allow Duplicates
כברירת מחדל, המערכת מונעת כפילויות. ביטול האפשרות מאפשר:
- כמה רשומות עם אותם ערכים
- שימושי עבור יומנים או עסקאות
חיפוש וסינון
חיפוש
חיפוש בכל השדות המאונדקסים:
- חיפוש טקסט מלא
- ללא תלות ברישיות
- תמיכה בהתאמות חלקיות
אופרטורים של מסננים בסינון שמור
סינונים שמורים מצמצמים את הרשומות באמצעות תנאים לכל שדה: שווה / לא שווה, גדול/קטן מ (או שווה), מכיל, קיים, והזוג הרב-ערכי הוא אחד מ / אינו אחד מ - הזינו כמה ערכים מופרדים בפסיקים (למשל ER, ICU, NICU) והרשומה תתאים אם השדה שלה שווה לאחד מהם. התאמה לערכים מספריים פועלת בין אם הרשומה שומרת אותם כמספר ובין אם כמחרוזת. אפשר לשלב תנאים באמצעות AND/OR.
מסננים (דרך API)
החלת מסננים מורכבים דרך ה־API:
{
filter: {
price: { $gte: 10, $lte: 100 },
category: "Electronics",
active: true
},
sort: { price: -1 },
limit: 20
}
ביצועי סינונים והמלצות לאינדקסים
תצוגת הסינונים כוללת חלונית ביצועים שמפרטת את הסינונים המובילים לפי היקף השימוש וממליצה על אינדקסים במסד הנתונים כדי להאיץ את הסינונים שאתם מריצים בתדירות הגבוהה ביותר. לכל המלצה יש עדיפות; הכפתור Create recommended indexes מחיל את ההמלצות, כדי שסינונים בשימוש תדיר ירוצו מהר יותר.
טיפים לביצועים
אינדוקס
הוסיפו אינדקסים לשדות שאתם:
- מחפשים בהם
- מסננים לפיהם
- ממיינים לפיהם
דוגמה: אם אתם מחפשים לפי SKU או מסננים לפי קטגוריה, אינדקסו את השדות האלה.
סדר שדות
הגדירו displayOrder כדי לקבוע:
- סדר שדות בטופס
- סדר עמודות בטבלה
- חוויית משתמש טובה יותר
שדות מוסתרים
סמנו שדות כמוסתרים אם הם:
- פנימיים בלבד
- לא נחוצים בתצוגת ברירת המחדל
- מטא-נתונים טכניים
מקרי שימוש
מסחר אלקטרוני
ישויות:
- Products (SKU, name, price, images)
- Orders (order ID, items, total, status)
- Inventory (warehouse, quantity, location)
- Categories (name, description, parent)
תהליך עבודה:
- ייבוא קטלוג מוצרים
- הפעלת קמפיינים לפי מלאי נמוך
- שליחת אישורי הזמנה
- התאמה אישית של המלצות מוצרים
ניהול תוכן
ישויות:
- Articles (title, content, author, tags)
- Videos (title, URL, duration, category)
- Authors (name, bio, photo)
תהליך עבודה:
- שמירת ספריית תוכן
- הפניה לתוכן בקמפיינים באימייל
- התאמה אישית של המלצות תוכן
- מעקב ביצועי תוכן
פלטפורמת SaaS
ישויות:
- Subscriptions (plan, price, features)
- Features (name, description, tier)
- Usage Metrics (metric, value, period)
תהליך עבודה:
- מעקב אחר סטטוס המנוי
- הפעלת קמפיינים לשדרוג
- ניטור שימוש ביכולות
- חישוב חיוב
אינטגרציה
עם קמפיינים
השתמשו בנתוני ישויות בתבניות אימייל באמצעות המסנן catalog:
קבלת כל הרשומות מישות:
{% assign products = 'products' | catalog %}
{% for product in products %}
<h3>{{ product.name }}</h3>
<p>Price: ${{ product.price }}</p>
<img src="{{ product.image_url }}" />
{% endfor %}
קבלת רשומות באמצעות סינון מוגדר מראש (עם מסננים ומיון):
{% assign featuredProducts = 'products' | catalog: 'featured_items' %}
{% for product in featuredProducts %}
<h3>{{ product.name }}</h3>
<p>Price: ${{ product.price }}</p>
{% endfor %}
הערות:
- ללא סינון: מוחזרות עד 50 רשומות
- עם סינון: נעשה שימוש במסננים, במיון ובמגבלה שהוגדרו
- שמות הישות והסינון חייבים להתאים בדיוק לשמות שהוגדרו בסביבת העבודה
עם מסעות
השתמשו בנתוני ישות כדי:
- להפעיל מסעות
- להסתעף לפי ערכים
- להתאים אישית הודעות
- לעקוב אחרי המרות
עם סגמנטים
סגמנטציה של משתמשים לפי קשרים לישות:
- משתמשים שרכשו מוצרים מסוימים
- משתמשים עם מנויים פעילים
- משתמשים במיקומים מסוימים
גישה ל־API
REST API מלא לגישה תכנותית:
// List entities
GET /api/entities
// Create entity
POST /api/entities
{
"name": "products",
"displayName": "Products",
"fields": [...]
}
// List records
GET /api/entities/:entityId/records
// Create record
POST /api/entities/:entityId/records
{
"sku": "PROD-001",
"name": "Widget",
"price": 29.99
}
ראו תיעוד Entities API לפרטים המלאים.
שיטות עבודה מומלצות
עיצוב סכימה
- התחילו פשוט - הוסיפו שדות לפי הצורך
- השתמשו בשמות משמעותיים - שמות שדות ברורים ותיאוריים
- אינדוקס חכם - אינדקסו רק שדות שאתם מסננים או מחפשים בהם
- אמתו נתונים - הגדירו כללי אימות מתאימים
- תעדו את המטרה - השתמשו בתיאורים לשדות מורכבים
איכות נתונים
- אכפו ייחודיות - כאשר מתאים (SKU, אימיילים)
- חייבו שדות קריטיים - אל תגדירו את כל השדות כשדות רשות
- הגדירו ברירות מחדל הגיוניות - הקלו על הזנת נתונים
- אמתו פורמטים - בחרו סוגי שדות מתאימים
- נקו בקביעות - הסירו רשומות לא רלוונטיות
ביצועים
- הגבילו את מספר הרשומות - ארכבו נתונים ישנים
- שימוש בעימוד - אל תטענו את כל הרשומות בבת אחת
- צרו אינדקסים באופן אסטרטגי - אזנו בין מהירות השאילתות לנפח האחסון
- השתמשו במטמון כשאפשר - עבור נתונים שניגשים אליהם בתדירות גבוהה
פתרון תקלות
לא מצליחים ליצור ישות
- בדקו את פורמט השם הפנימי (אותיות קטנות, קו תחתון בלבד)
- ודאו שהשם אינו בשימוש
- ודאו שיש לכם הרשאות
רשומות לא מופיעות
- בדקו מסננים ומונחי חיפוש
- ודאו שנבחרה סביבת העבודה הנכונה
- בדקו מצב soft delete
שאילתות איטיות
- הוסיפו אינדקסים לשדות מסוננים
- צמצמו את גודל התוצאה
- ייעלו את שאילתות הסינון