Net-Base מגזין

29.05.2026

BDE-החלפה: כך תשדרגו יישומי Delphi ללא סיכון לנתונים ולתפעול

יישומים רבים של Delphi עדיין משתמשים בBorland Database Engine (BDE) – ומשלמים על כך במכשולי תפעול, בעיות בדרייברים, סיכוני אבטחה ועדכוני פלטפורמה חסומים. מאמר זה מציג כיצד תכנון טכני מסודר של החלפת BDE נעשה: הגירת נתונים...

29.05.2026

מהנושא במגזין ליישום בפרויקט

דפי שירות וטכניים רלוונטיים למאמר

החלפה של BDE-Ablösung אינה בראש רשימת המשאלות ברבות מהחברות – אך בסופו של דבר מופיעה במפת הסיכונים. Die Borland Database Engine (BDE) הוא סטאק גישה לנתונים היסטורי עבור Delphi-יישומים, שלעיתים קרובות בסביבות שגדלו עם הזמן עדיין מטפל בטבלאות Paradox או בחיבורי מסד נתונים ישנים. כל עוד הכל „irgendwie läuft“, הנושא נראה ניתן לשליטה. בפועל, בדרך כלל התפעול, העדכונים והממשקים הם אלו שנכשלים ראשונים: מעברים ל-64 ביט, גרסאות חדשות של Windows, מסדי נתונים מודרניים, דרישות אבטחה, Terminalserver/VDI או פשוט הרצון לניהול יציב וניתן למעקב.

פוסט זה מסווג באופן ריאלי את הסיבות לכך שיישום מבוסס BDE עלול להיכשל כיום, כיצד לתכנן את ההחלפה כך שיתופעלו נתונים, ממשקים ותהליכים בצורה נקייה, ואילו מסלולי הגירה הוכיחו את עצמם במציאות. המוקד אינו „Code-Kosmetik“, אלא בטיחות תפעולית, איכות נתונים, תחזוקה והאפשרות למודרניזציה הדרגתית של היישום – ללא Big-Bang מיותר.

מדוע BDE הופכת לבעיה בתפעול

ה-BDE אינה רק „alt“, אלא אינה תואמת בממדים רבים לסטנדרטים הנוכחיים של IT. זה נדיר שמתבטא בפיצוץ גדול יחיד; במקום זאת מדובר ברבים מהפסדי חיכוך קטנים שצורכים זמן מצוות ה-IT ומגבירים סיכונים.

תסמינים טכניים וארגוניים

  • התקנות לקוח לא יציבות או קשות לתחזוקה: קונפיגורציית BDE, ניהול_alias (Alias), נתיבים, הרשאות כתיבה ותלויות לעיתים קרובות אינן ניתנות לאריזה נקייה. בסביבת Terminalserver או VDI נושאים אלה מתגברים במהירות.
  • גבולות דרייברים ותאימות: מסדי נתונים מודרניים ותצורות אבטחה (למשל תקני TLS, שיטות אימות) כבר לא ניתנים לייצוג באופן יציב דרך חיבוריות BDE.
  • קונפליקטים 32-/64-Bit: חברות רבות מסיבות מוצדקות רוצות להטמיע לקוחות 64-Bit, גרסאות Office חדשות, ערימות הדפסה/PDF עדכניות או מכשירי Windows 11 ARM64. ה-BDE הופכת לחסם.
  • Security und Hardening: נתיבי נתונים ישנים, קבצים מקומיים, דרישות הרשאה לא ברורות, חוסר יכולות הצפנה או Audit אינם מתאימים לציפיות האבטחה וה-Compliance של היום.
  • חוסר כשירות עתידית של ממשקים: ברגע ש-APIs (REST), זהות מרכזית (למשל SAML 2.0 כתקן ל-Single Sign-on) או אינטגרציה מבוססת שירותים נדרשים, ליבת BDE מגלה עצמה כעוגן עבור הלקוח ה-Legacy.

הכרחי: החלפת BDE-Ablösung היא לעתים נדירות „רק“ החלפה של ספרייה. היא נוגעת במודלי נתונים, טרנזקציות, Locking (התנהגות נעילה), מקביליות, טיפול בשגיאות, פריסות ולעתים קרובות גם בדגם ההרשאות.

להעריך באופן ריאלי החלפה של BDE: מה בדיוק מוחלף?

ביישומים קיימים המונח „BDE“ הוא בדרך כלל מונח כולל. לתכנון מהימן חייב להיות ברור אילו תפקידים ממלאת ה-BDE במערכת הקונקרטית:

  • שכבת גישת נתונים: Datasets, Queries, Stored Procedure-Aufrufe, התנהגות Cursor, Parameterbinding.
  • שכבת דרייבר/קונקטיביטי: חיבור ל-Paradox, dBASE, InterBase/Firebird או ל-SQL Server/Oracle דרך נתיבי דרייברים ישנים.
  • קונפיגורציה: BDE-מנהל, Aliases, NetDir, נתיבים מקומיים, תיקיות משותפות.
  • סמנטיקה: איך מבוצע נעילה? איך מפורשים פורמטי תאריך/מספרים? אילו סוגי שדות ואינדקסים שימשו היסטורית?

לעומד/ת בראש ה-IT ולמנהל/ת המערכת, הבהרה זו היא ההבדל בין „עדכון קטן“ לבין מהלך מודרניזציה מובנה. רק לאחר מכן ניתן להחליט האם די בעדכון גישת הנתונים או שמא יש לשלב גם מיגרציית מסד נתונים או פעולות ניקיון ארכיטקטוניות.

ארכיטקטורות יעד אחרי BDE: נתיבים טיפוסיים

אין תחליף יחיד. בפרקטיקה התבססו שלושה נתיבים עיקריים, שניתן גם לשלב ביניהם:

1) מעבר ישיר ל-FireDAC עם מסד נתונים קיים

BDE-Ablosung mit nativer Anbindung היא ספריית גישה מודרנית לנתונים עבור Delphi‎, התומכת במגוון מסדי נתונים ודרייברים ובפועל ניתנת לאוטומציה בצורה ברורה יותר מהקונפיגורציות של BDE. נתיב זה מתאים כאשר מסד הנתונים עצמו יציב והסיכון העיקרי טמון בשכבת הגישה הישנה. חשוב לבדוק בצורה מדוקדקת פרמטרי חיבור, טרנזקציות ומיפויי טיפוסים (למשל String/Unicode, תאריך/שעה).

2) מיגרציה מ-Paradox/מבוסס קבצים ל-Client-Server (PostgreSQL, SQL Server, MariaDB)

כאשר עדיין מנוצלות טבלאות Paradox או מבני קבצים אחרים, החלפת BDE היא לעיתים הרגע המתאים למעבר למסד נתונים מרכזי. Client-Server כאן משמעותו: טרנזקציות מאובטחות בצד השרת, גיבויים ניתנים לניהול מרכזי, הרשאות מוגדרות ברמת ה-DB וגישה סימולטנית ניתנת לשליטה מדויקת יותר. עבור תפעול ואבטחה זה לרוב ההשפעה הגדולה ביותר.

3) פרידה באמצעות שירותים: REST-API לפני לוגיקת המערכת הקיימת

במקום לפרק את הלקוח מיד ובצורה מלאה, ניתן להציב שירות REST (‏REST מייצג „Representational State Transfer“, סגנון נפוץ לממשקי HTTP) כשכבת אינטגרציה. בכך ניתן לחבר פורטלים, מערכות חיצוניות או מודולים חדשים מבלי שכל גישה תעבור ישירות מלקוח ה-legacy. נתיב זה מועיל במיוחד כאשר רוצים לגדל את היישום בהדרגה לכיוון ארכיטקטורה מודולרית.

עבודת הכנה שקובעת הצלחה או קיפאון

החלפת BDE נכשלת לעתים רחוקות בגלל חוסר יכולת טכנית, ובאותה מידה בגלל היעדר שקיפות בנתונים ובתהליכים. עבודות ההכנה הבאות מצמצמות באופן מהותי את סיכון הפרויקט והתפעול.

מיפוי מצב קיים: נתונים, פונקציות, תפעול

  • מלאי נתונים: אילו טבלאות, קבצים, אינדקסים, רפרנסים ושדות מיוחדים קיימים? מה היקף מאגר הנתונים, בקצב צמיחתו והיכן הוא מאוחסן כיום?
  • גבולות טרנזקציה: היכן התהליך העסקי מצפה ל“הכול או כלום“? היכן עד כה התנהלו עדכונים חלקיים בשתיקה?
  • תהליכים בבאטץ‘ ותהליכים נלווים: ייבוא/ייצוא, דיווחים, הפקות PDF, ריצות לילה, עבודות ממשק. חלקים אלה הם לעתים המקורות האמיתיים לירידת שירות במיגרציות.
  • תמונה תפעולית: כיצד מתבצע deployment (MSI, Copy-Deploy, הפצת תוכנה)? אילו הרשאות נדרשות על הקליינטים? אילו לוגים קיימים? כיצד מתבצע תמיכה?

לשלב זה כדאי לשלב במודע ידע אדמיניסטרטיבי: „מה קורה בעת החלפת Client?“, „איך מגיבים לנתונים פגומים?“, „כמה זמן לוקח RESTore?“ — אלה השאלות שיקבעו מאוחר יותר את אופן הפריסה.

להפוך את איכות הנתונים והכללים הסמויים לנראים

בדיוק במודלים של נתונים מבוססי Paradox או במערכות שהתפתחו היסטורית רב הכללים הם סמויים: טווחי ערכים, קודי מצב מיוחדים, שדות „ריקים“ שמשמשים כמסרים משמעותיים, או הפניות ללא מפתחות זרים אמיתיים. בעת מיגרציה ל-PostgreSQL/SQL Server/MariaDB יש להחליט אילו כללים יאוכפו טכנית מעתה (אילוצים) ואילו יאומתו תחילה בלבד (למשל באמצעות עבודות בדיקה). ההחלטה הזו אינה נקודה אקדמית: כללי-יתר קשים מדי עלולים לחסום ייבוא פרודוקטיבי, כללים רופפים מדי ישמרו שגיאות לטווח הארוך.

שאלות ליבה טכניות בעת החלפת BDE

למחליטים החלפת „גישה לנתונים“ נראית לעתים כמשימה פשוטה. בפועל קיימים כמה פרמטרים טכניים שמשפיעים ישירות על התפעול, היציבות ועומס התמיכה.

סוגי נתונים, Unicode ומיונים

רבים מהיישומים ה־Legacy נושאים עימם חובות מהתקופה של ANSI. בעת מודרניזציה יש להגדיר במפורש מערכי תווים, סידורי מיון (Collation), הבחנה בין אותיות קטנות/גדולות ותווים מיוחדים (Umlaute, ß). אחרת עלולות להופיע „שגיאות רפאים“: חיפושים יחזירו תוצאות שונות, ייווצרו כפילויות, היצוא יסטה. מיגרציה ל־Unicode היא לעתים קרובות חלק מההחלפה — לא בהכרח כמהלך גורף (Big Bang), אך כשלב מתוכנן במודע.

טרנזקציות והתנהגות נעילות (Locking)

אחסון קבצי מתנהג אחרת לעומת Client‑Server. בבסיסי נתונים SQL רמות הבידוד, נעילות שורות וטיפול ב־deadlock קובעות את התחרותיות. עבור התפעול זה אומר: חייבים לדעת אילו תהליכים רצים זמן רב, אילו טבלאות מהוות „hotspots“ ואיפה לעבוד עם אינדקסים מתאימים, טרנזקציות קצרות יותר או שאילתות ממוטבות. כאן משתלם ניטור מדויק, ולא הסתמכות על „זה מרגיש איטי“ בלבד.

תבניות שגיאה: מדיאלוג לקוח לרישום מבוקר

יישומים ישנים רבים מדווחים על שגיאות מסד הנתונים ישירות בדיאלוג או כותבים הודעות עם ערך שימושי מועט. לאחר החלפת BDE ראוי שהשגיאות יהיו מרכזיות ומסומנות: איזו Query, איזה משתמש, איזו פעולה, איזו הודעת מסד נתונים? לאדמיניסטרציה חיוני שניתן יהיה להגביל שגיאות באופן שחוזר על עצמו, בלי לטפל ידנית בכל לקוח בודד. בחלקים מבוססי שירותים מצטרפים לוגים מובנים (למשל JSON) ומזהי קורלציה למעקב אחרי בקשות על פני מספר רכיבים.

Deployment und Konfiguration: weg von Alias-Wildwuchs

מטרה שכיחה היא לאחד את התצורה: הגדרות חיבור שלא יהיו פר לקוח ב־BDE‑האדמיניסטרטור, אלא מרכזיות או לפחות סטנדרטיות דרך קובצי קונפיגורציה/ערכי Registry שמופצים דרך כלי הפצת תוכנה. עבור Terminalserver זה חשוב במיוחד. גם תעודות, פרמטרי TLS ונושאי פרוקסי לא צריכים להיחזק בטיפול ידני.

אסטרטגיית מיגרציה: שלבית במקום מהלך גורף

החלפה יכולה להתבצע בשלבים. זה מפחית סיכון של השבתה ומאפשר שיפורים תפעוליים מוקדמים בעוד היישום ממשיך בפעולה.

Etappe 1: Stabiler Datenzugriff als austauschbare Schicht

ביישומים רבים של Delphi גישה לנתונים מפוזרת ברחבי ה-UI. צעד ביניים מעשי הוא שכבת גישה לנתונים ברורה ומוגדרת (לעתים קרובות נקראת „Layer“; בארכיטקטורת Layer-3 ההפרדה בין UI, לוגיקת העסקים וגישה לנתונים נשמרת). המטרה אינה טוהר אקדמי, אלא יכולת תחזוקה: כאשר כל הגישות ל-DB מרוכזות בכמה מקומות בודדים, ניתן לשנות בצורה עקבית דרייברים, פרמטרים וטיפול בעסקאות.

שלב 2: הפעלה מקבילה ובדיקות השוואתיות

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

שלב 3: Cutover עם אסטרטגיית חזרה

נקודת המעבר (Cutover) צריכה להיות מתוכננת באופן פרקטי לתפעול: חלון תחזוקה, קפיאת נתונים, רשימות בדיקה מוגדרות, ניטור וסצנריו ברור של „Rollback“. Rollback איננו אומר שנעבור בין המצבים שוב ושוב כרצון, אלא שמטרתו לשחזר יכולת עבודה באופן מסודר במקרה של תקלה. לכך נדרשים גיבויים, בדיקות שחזור ותוכנית לאופן שבו מבטיחים עקביות נתונים לאחר חזרה למצב קודם.

מיגרציה של מסדי נתונים בפירוט: על מה צוותי IT והפעלה צריכים לשים לב

כאשר במסגרת ההחלפה של BDE מ-Paradox או ממבנים מבוססי קבצים אחרים מתבצעת מיגרציה למסד נתונים מרכזי מסוג SQL, צוותי IT עומדים בפני מספר החלטות אשר יעצבו מאוחר יותר את עלויות התפעול והתמיכה.

עיצוב סכימה: לקלוט 1:1 או לשפר באופן ממוקד?

העתקה 1:1 מורידה את הסיכון בטווח הקצר, אך לעתים קרובות משמרת חולשות: מפתחות ראשיים חסרים, סוגי נתונים לא אחידים, „סמנטיקה במחרוזות“, אורכי שדות שהתפתחו היסטורית. גישה ריאליסטית היא דו‑שלבית: תחילה מיגרציה יציבה (שינויים מינימליים), ואז קונסולידציה בשלבים מבוקרים. לשם כך דרושה גרסאות של הסכימה (מיגרציות), כדי שהשינויים יוכלו להתגלגל באופן שניתן לעקוב אחריו.

ביצועים: לבדוק אינדקסים ושאילתות טיפוסיות מוקדם

דפוסי גישה טיפוסיים של Paradox וBDE אינם מתאימים לרוב 1:1 ל-SQL. קריטי למדוד מוקדם את מקרי השימוש המובילים: מסכי חיפוש, רשימות, רישומים/עסקאות, ריצות אצווה. מכך נגזרים אינדקסים, אופטימיזציות שאילתות ובמקרה הצורך מטריאליזציות. עבור הניהול חשוב שהביצועים לא ייווצרו „באופן אקראי“, אלא על בסיס מדידות וצמדים של צעדים שניתנים למעקב.

גיבוי/שחזור וזמינות גבוהה

עם מסד נתונים מרכזי כללי המשחק משתנים: גיבויים חייבים להיות עקביים, להיבדק באופן קבוע ולהיות ניתנים לשחזור במהירות. בדיקות שחזור הן חיוניות ומהוות את הבסיס ליעדי RTO/RPO אמינים (RTO = זמן עד לשחזור, RPO = אובדן נתונים מקסימלי בזמן). בהתאם לרמת הקריטיות עשויות להידרש שכפול, מופעי Standby או חלונות תחזוקה מוסדרים. החלפת BDE היא זמן מתאים להגדיר סוף־סוף את דרישות התפעול הללו בצורה ברורה.

ממשקים ואינטגרציה: החלק שלעיתים מוערך פחות

רבים מהיישומים הקיימים אינם חיים בבידוד. הם מזינים DMS, תלויים ב‑ERP, מספקים נתונים ל‑BI/דיווח או מתקשרים עם מכונות/כלים. עם החלפת BDE הממשקים כנראה לא ישתנו מבחינה פונקציונלית, אך ישתנו מבחינה טכנית.

ייצוב ייבוא/ייצוא

מקורות שגיאות טיפוסיים הם נתיבים קשיחים, כוננים מקומיים, פורמטי Excel, קידוד CSV ואי-ולידציה. בעת מודרניזציה כדאי לטפל בייבוא/ייצוא כפונקציה מוגדרת וניתנת לבדיקה: הגדרת פורמט ברורה, רישום, רשימות שגיאות, הרצה חוזרת. זה מצמצם מקרים בתמיכה משמעותית, כי שגיאות כבר לא עוברות ‚בשקט‘.

REST-APIs כעוגן לאינטגרציה

כאשר מערכות חדשות צריכות להתחבר, API של REST הוא לעתים הדרך הפרגמטית. חשוב לא רק נקודות קצה, אלא גם היבטי תפעול: אימות (למשל Token), הגבלות קצב (Rate Limits), רישום (Logging), גרסאות של ה-API ומנגנון לטיפול ב-Breaking Changes. API שמושק ללא גרסאות מייצר מאוחר יותר תלותיות מיותרת.

אבטחה והרשאות לאחר ההחלפה

עם סיום הBDE נפתחת ההזדמנות לעצב הרשאות בעקביות גבוהה יותר. לעתים קרובות במערכות Legacy זכויות מיושמות חלקית ביישום וחלקית „דרך נתיבי קבצים“. תמונת היעד המודרנית מפרידה בבירור:

  • אימות: מי הוא המשתמש? (למשל Windows/AD, SSO באמצעות SAML 2.0)
  • אוטוריזציה: מה מותר לו ביישום? (תפקידים, זכויות, טננטים)
  • הרשאות מסד נתונים: גישת היישום מתנהלת דרך חשבונות DB טכניים, לא דרך חשבונות משתמשי קצה; פעולות אדמיניסטרטיביות רגישות מופרדות.
  • Audit ויכולת מעקב: שינויים משמעותיים צריכים להיות ניתנים לרישום (מי, מה, מתי), מבלי שכל פרט ‚יילך לאיבוד‘ בקבצי הלוג.

בעבור הנהלת ה-IT רלוונטי: אבטחה אינה נבנית על-ידי „עוד דו-שיחים“, אלא על-ידי אחריות ברורה וכללים שניתן לאמת. בדיוק זאת מאפשרת לעתים החלפה מובנית של BDE.

תוכנית בדיקות ופריסת Rollout: מה שבפועל באמת קובע

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

סוגי בדיקות שכדאי שתתכננו

  • בדיקות רגרסיה של התהליכים המרכזיים: רישומים/עסקאות, נתוני-יסוד, חיפוש, דוחות/אנליזות, הדפסה/PDF.
  • אימות נתונים: דגימות ובדיקות אוטומטיות (כמו כמות, סכומים, רפרנסים, כפילויות).
  • בדיקות עומס/ביצועים: לא כ’בנצ’מארק‘, אלא לאורך זמני שיא אמיתיים והרצות אצווה.
  • בדיקות תפעול: התקנה, עדכון, Rollback, סיבוב לוגים, גיבוי/שחזור, אירועי ניטור.

פיילוט ופריסה מדורגת

פיילוט עם קבוצות משתמשים מוגדרות וערוצי תמיכה ברורים מצמצם סיכון. חשוב לקלוט משוב בצורה ממוסדת: אילו שגיאות הן תקלות אמיתיות, אילו הן שינויים בהתנהגות עקב מיון/Unicode, ואילו הן שאלות תהליך? תהליך כרטיסים ומיונים מסודר מונע שהפרויקט יתקע במצב ‚הכל חשוב באותה מידה‘.

מתי משתלמת הBDE-Ablösung במיוחד – ומתי נדרש יותר?

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

  • תכנון מעבר ל-64-Bit או דורות חדשים של Windows בהפעלת הלקוח
  • מקרי תמיכה תכופים עקב הגדרת לקוח, נתיבים, הרשאות או סביבת Terminalserver
  • צורך באחסון נתונים מרכזי, גיבוי/שחזור נקי וביקורות ניתנות למעקב
  • דרישות חדשות לממשקים (פורטלים, BI, שותפים חיצוניים) ולSecurity

לעתים החלפת BDE היא עם זאת רק הצעד הראשון: כאשר יש לחדש במקביל את ה-UI/UX, לוגיקת התהליכים או את מודל ההרשאות באופן יסודי, יש לתכנן את המהלך במבנה מודולרי. ״הכל בבת אחת״ עשוי להיראות יעיל, אך מוביל בארגונים רבים לתקופות הקפאה ארוכות ולמצבים ביניים שקשה לבדוק. עדיף מפת דרכים שמציגה מוקדם יתרונות תפעוליים: גישה יציבה לנתונים, מסד נתונים מרכזי, יומני רישום משופרים, ולאחר מכן מודרניזציה נוספת בשלבים (למשל פורטלים או שירותים).

מסקנה: החלפת BDE כנתיב מודרניזציה מבוקר

החלפת BDE היא יותר מסתם ריפקטורינג טכני. בתכנון נכון היא צעד מבוקר לעבר תוכנה עסקית שקל יותר להפעילה: פריסות סטנדרטיות, אחסון נתונים שניתן לעקוב אחריו, ממשקים ברורים יותר, יכולות אבטחה וביקורת משופרות והאפשרות לחבר רכיבי ארכיטקטורה מודרניים כמו שירותי REST או פורטלים. המפתח טמון במיפוי מצב קיים מהימן, באסטרטגיית הגירה שלבית ובפריסה שלוקחת ברצינות את ההפעלה ואת איכות הנתונים לא פחות מהפונקציונליות.

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

בהקשר המקצועי גם החלפת Borland Database Engine וDelphi מודרניזציה ממלאות תפקיד חשוב כאשר אינטגרציות, זרימות נתונים והמשך פיתוח צריכים להשתלב בצורה מסודרת.

לדון בפרויקט או ביוזמת מודרניזציה עם Net-Base.

השלב הבא

כאשר הנושא הופך לפרויקט ממשי, יש לבחון כבר בשלב מוקדם את הארכיטקטורה, המצב הקיים והתפעול יחד.

אנו תומכים לא רק בשאלות נקודתיות, אלא גם כשמקטעי קוד מקור, נושאי Legacy או רעיונות פורטל אמורים להפוך לפרויקט ארגוני מהימן ועמיד.

  • המצב הקיים, תמונת היעד והסיכונים הטכניים מוערכים יחד.
  • REST, גישה לנתונים, פורטלים ו-Rollout לא יידחו כתוצאות מאוחרות.
  • אתם מזהים מוקדם איזה נתיב בר-קיימא מבחינה כלכלית ותפעולית.

שתף פוסט

לשתף את הפוסט הזה ישירות

LinkedIn, X, XING, Facebook, WhatsApp ודוא"ל זמינים מיידית. עבור Instagram אנו מכינים קישור וטקסט קצר באופן מיידי.

דוא״ל

אינסטגרם נפתח בכרטיסייה חדשה. הקישור וטקסט קצר מועתקים מראש ללוח.