סיכום
כדי להבטיח שימוש עקבי במאפיינים מותאמים אישית, או בשדות מותאמים אישית, Microsoft Office Outlook 2003 Service Pack 2 (SP2) וגירסאות מאוחרות יותר של Outlook מגבילות חלק מהדרכים שבהן ניתן להציג מאפיינים מותאמים אישית במאגרי נתונים של Outlook. לדוגמה, ניתן להציג מאפיינים מותאמים אישית בדרכים ספציפיות בקבצים של תיקיות אישיות של Outlook (.pst).
מבוא
מאמר זה עושה את הפעולות הבאות:
-
מספק מבט כולל על מאפיינים מותאמים אישית.
-
מסביר כיצד אופן הפעולה של מאפיינים מותאמים אישית השתנה ב- Outlook 2003 SP2 ובגרסאות מאוחרות יותר של Outlook.
-
מאמר זה דן בכמה שיטות עבודה מומלצות ליצירת מאפיינים חדשים ושיטות מסוימות שאנחנו לא ממליצים עליהם.
מידע נוסף
אודות מאפיינים מותאמים אישית
מאפיינים מותאמים אישית משמשים תוכניות דואר אלקטרוני, כגון Outlook, כדי להוסיף מידע נוסף להודעה. בדרך כלל, מידע נוסף זה משמש תוכנית דואר אלקטרוני למטרה ספציפית. עם זאת, קיימות דרכים אחרות שבהן ניתן להשתמש במאפיינים מותאמים אישית. לדוגמה, ניתן להוסיף מאפיינים מותאמים אישית להודעות או לפריטים אם אתה משתמש בטפסים מותאמים אישית של Outlook וטפסים אלה מכילים שדות מותאמים אישית. מאפיינים מותאמים אישית משמשים לעתים קרובות להוספת מידע נוסף למטרות מעקב. מאפיינים מותאמים אישית משמשים גם להוספת נתונים שהמשתמש אינו צריך לראות. פתרון מותאם אישית יכול גם להוסיף מאפיינים מותאמים אישית לפריטים רגילים. פתרון מותאם אישית מוסיף באופן תיכנותי מאפיינים מותאמים אישית להודעה או לפריט ללא צורך בטופס מותאם אישית.
ניתן להשאיר מאפיינים מותאמים אישית בתבנית הקובץ .msg ובתבנית הקובץ .oft ב- Outlook. בנוסף, ניתן להשאיר מאפיינים מותאמים אישית בהודעות דואר אלקטרוני הנשלחות דרך האינטרנט אם השולח משתמש באפשרות שלח באמצעות תבנית טקסט עשיר של Outlook . אפשרות זו מפענחת את מקטע MAPI של ההודעה בתבנית Encapsulation ניטראלית של תעבורה (TNEF) ולאחר מכן TNEF מפועוע כאשר ההודעה מתקבלת. שולח יכול לשלוח הודעת דואר אלקטרוני הכוללת מאפיינים מותאמים אישית בתרחישים הבאים:-
טופס מותאם אישית של יחיד נשלח. בטפסים של יחיד, הטופס מוטבע בהודעה. הטופס אינו פורסם במקום אחר. לקבלת מידע נוסף אודות טפסים ללא קשר, עיין במאמר הבא:
-
טופס מותאם אישית שפורסם נשלח. במקרה זה, הטופס המותאם אישית לא יישלח משום שהצורה אינה מוטבעת בהודעה. עם זאת, מאפיינים מותאמים אישית שבהם נעשה שימוש בטופס עדיין נכללים בהודעה.
הערה קיימות דרכים רבות להפנות למאפיינים מותאמים אישית, בהתאם להקשר שבו נעשה שימוש במאפיינים המותאמים אישית. בממשק המשתמש של Outlook, כגון ב'בוחר השדות ', מאפיינים מותאמים אישית נקראים שדות המוגדרים על-ידי המשתמש או שדות מותאמים אישית. בספריית האובייקטים של Outlook, מאפיינים מותאמים אישית יכולים להי הנקראים מאפייני משתמש או מאפיינים המוגדרים על-ידי המשתמש לאחר האוסף 'מאפייני משתמש'. ב- MAPI, שדות מותאמים אישית נקראים מאפיינים בעלי שם. MAPI מספק מתקן לביצוע הפעולות הבאות:
-
הקצאת שמות למאפיינים
-
מפה את השמות למזהים ייחודיים
-
הפוך את המיפוי למתמיד
לקבלת מידע נוסף אודות אופן היישום של מאפיינים בעלי שם ב- MAPI, בקר באתר האינטרנט הבא של MSDN:
http://msdn2.microsoft.com/en-us/library/ms529055.aspx הערה בסביבה של Exchange, המונח "מאגר" כפי שנעשה בו שימוש במאמר זה מתייחס למאגר תיבות דואר שלם (מסד נתונים). המונח אינו מפנה אל מאגר תיבות דואר של משתמש בודד. ייתכן שיש מסד נתונים אחד או יותר של תיבות דואר של Exchange בארגון.
שינויי אופן פעולה ב- Outlook
היישום של MAPI ב- Outlook השתנה כדי לשלוט באופן שבו ניתן ליצור מאפיינים מותאמים אישית. כדי להבטיח שימוש עקבי במאפיינים מותאמים אישית, יש כבר להשתמש במאפיינים מותאמים אישית בארגון או בלקוח Outlook. ברגע שנעשה שימוש במאפיינים מותאמים אישית או רשומים, ניתן להעביר את המאפיינים המותאמים אישית באופן חופשי ללקוחות Outlook אחרים או לשרתים שבהם Exchange Server. ניתן גם לשלוח את המאפיינים המותאמים אישית דרך האינטרנט.
הודעות דואר אלקטרוני נשלחות בדרך כלל בתבנית MIME דרך האינטרנט. כאשר Outlook מקבל הודעת דואר אלקטרוני באינטרנט, ההודעה מומרת לייצוג MAPI. להלן דוגמאות לפרוטוקולי דואר אלקטרוני באינטרנט:-
פופ
-
Imap
-
HTTP (Outlook.com)
כברירת מחדל, Outlook אינו מאפשר עוד לדואר באינטרנט ליצור מאפיינים מותאמים אישית חדשים. רק מאפיינים שכבר נוצרו במאגר ברירת המחדל למסירת דואר נשמרים עבור הודעות דואר אלקטרוני נכנסות. שינוי זה משפיע בעיקר על הודעות הנשלחות ב- Encapsulated TNEF (Winmail.dat), כאשר השולח השתמש באפשרות שלח באמצעות תבנית טקסט עשיר של Outlook . עם זאת, הודעות אינטרנט המכילות מאפייני כותרת X-message מושפעות גם הן.
הערה הודעות המכילות מאפיינים מותאמים אישית הנשלחים בארגון Exchange אינן מושפעות משינויים אלה. ניתן גם לשמור מאפיינים מותאמים אישית בקבצים מסוג .msg ובקבצים מסוג .oft אם משתמש פותח קובץ .msg בעל מאפיינים מותאמים אישית, מאפיינים מותאמים אישית אלה אינם נשמרים במאגר ברירת המחדל כאשר ההודעה נשמרת, מועברת וכן הלאה. בדרך כלל, קבצי .oft משמשים כדי לגבות טפסים מותאמים אישית של Outlook. עם קבצי .oft, אופן הפעולה החדש חל על כל סוגי הפריטים. הטופס המותאם אישית לא ייפתח. במקום זאת, ההודעה תופיע בטופס ברירת המחדל עבור סוג פריט מסוים זה. לסיכום, שינוי זה בעיצוב עלול לגרום להתרחשות של שני דברים:-
Outlook מתעלם ממאפיינים מותאמים אישית שאינם קיימים. אם מאפיין מותאם אישית אינו קיים במאגר המסירה, המאפיין לא ייווצר והערך שלו יאבד. אם המאפיין המותאם אישית כבר קיים במאגר המסירה, הערך שלו עקבי. שינוי זה חל על האפשרויות הבאות:
-
הודעות דואר אלקטרוני באינטרנט הכוללות TNEF וההודעות המוטבעות שלהן.
-
הודעות S/MIME.
-
קבצי .msg בעת שחרור קובץ ה- .msg בחלון פריט של Outlook כדי להוסיף את הקובץ לפריט אחר. שינוי זה חל גם על קבצי .msg בעת שחרור הקובץ .msg בחלון הראשי של Outlook כדי להוסיף את הקובץ לתיקיה או בחלון Microsoft Word כאשר אתה משתמש ב- Word כעורך הדואר האלקטרוני.
-
.msg קבצים שמשתמש לוחץ בהם פעמיים או לוחץ באמצעות לחצן העכבר הימני כדי לפתוח אותם.
-
-
Outlook מתעלם מהגדרת הטופס ההכללה. אם טופס שאינו מוגדר כמאפיין מותאם אישית ומאפיין מותאם אישית זה אינו קיים במאגר המסירה, הטופס ההכלל לא יעובד. במקום זאת, המשתמש רואה את טופס ברירת המחדל עבור סוג פריט מסוים זה. שינוי זה חל על הודעות דואר אלקטרוני באינטרנט המכילות הגדרת טופס של יחיד המחולקת ל- TNEF. שינוי זה חל גם על קבצי .oft שהמשתמש לוחץ פעמיים או לוחץ באמצעות לחצן העכבר הימני כדי לפתוח.
שיטות עבודה מומלצות ודרכים אחרות ליצירת מאפיינים חדשים
קיימות מגוון דרכים שבהן ניתן לעצב ולפתח פתרונות מותאמים אישית. חלק מהגישה האלה נחשבות לשיטות עבודה מומלצות. גישות אחרות עשויות גם לפעול, אך איננו ממליצים על גישות אלה מהסיבות השונות או יותר.
שיטות עבודה מומלצות: הוספת שדות מותאמים אישית באופן תיכנותי
ממשקי API שונים יכולים לשמש להוספת שדות מותאמים אישית לפריטים באופן תיכנותי. לשם כך, השתמש בפעולת השירות UserProperties.Add בספריית האובייקטים של Outlook ("Outlook.Application"). הקוד הבא מדגים שיטות עבודה מומלצות אלה.
Set myProp = myItem.UserProperties.Add("MyPropName", olText)
ניתן גם להשתמש בספריית האובייקטים של CDO ("MAPI". Session") כדי להוסיף שדות מותאמים אישית. לקבלת מידע נוסף, בקר באתר האינטרנט הבא של MSDN:
http://msdn2.microsoft.com/en-us/library/ms527518.aspx עבור מפתחי C++ , ניתן להשתמש ב- MAPI מורחב כדי להוסיף מאפיינים בעלי שם. לקבלת מידע נוסף, בקר באתר האינטרנט הבא של MSDN:
שיטות עבודה מומלצות: שימוש בטפסים מותאמים אישית שפורסמו המכילים שדות מותאמים אישית
Outlook נותן אמון רב בטפסים מותאמים אישית שפורסמו. עם זאת, Outlook אינו נותן אמון בטפסים שלא פורסם או בטפסים של פעם אחת. אפשרות זו כוללת קבצי .oft לכן, בעת עיצוב פתרון טופס מותאם אישית, מומלץ מאוד לפרסם את הטופס המותאם אישית. עליך לעצב את הטופס כך שה טופס לא יהפוך לטופס של יחיד. כל עוד טופס פורסם, הטופס לא יושפע מהשינוי ב- Outlook.
בעת פרסום קובץ .oft במאגר אחר, מאגר ברירת המחדל מאפשר לך ליצור מאפיינים במאגר זה. בנוסף, בעת יצירת טופס מותאם אישית בעל מאפיינים מותאמים אישית ואתה מפרסם אותו בספריית הטפסים או בתיקיה המתאימות, המאפיינים המותאמים אישית נוצרים בחנויות המושפעות.שיטות עבודה מומלצות: פריסה תיכנותית של טפסים מותאמים אישית
אם אתה מפתח טופס מותאם אישית של Outlook שישמש אחרים, ישנן כמה גישות שתוכל להשתמש בהן. הגישה שבה אתה משתמש תלויה במספר גורמים. גורמים אלה כוללים את סוג הטופס, שישתמש בטופס, שבו ייעשה שימוש בטופס וכן הלאה. בדרך כלל, אם אנשים רבים ישתמשו בטופס מותאם אישית, מומלץ לפרסם את הטופס בספריית הטפסים הארגוניים. עם זאת, אם זה לא אפשרי, ייתכן שתרצה לפרסם את הטופס בתיקיה משותפת או בספריית הטפסים האישיים של משתמשים מסוימים. באפשרותך להתקין טופס מותאם אישית באופן תיכנותי באמצעות פעולת השירות CreateItemFromTemplate בספריית האובייקטים של Outlook. השתמש בפעולת השירות CreateItemFromTemplate כדי לפתוח קובץ .oft ולאחר מכן לפרסם את הטופס באמצעות פעולת השירות PublishForm. במקרה זה, קובץ .oft אינו מושפע משינויי המאפיינים המותאמים אישית.
לא מומלץ: פרוס או שלח קבצי .oft כדי שמשתמשים ייפתחו
באפשרותך לשמור טפסים מותאמים אישית של Outlook כקבצים מסוג .oft טפסים אלה יכולים להכיל שדות מותאמים אישית, שינויים בממשק המשתמש וקוד מותאם אישית של Microsoft Visual Basic Scripting Edition (VBScript) כדי להוסיף פונקציונליות לטופס. למרות ש- Outlook כבר מכיל תכונות שמונעות את הפעלת קוד ה- VBScript בקבצים מסוג .oft, Outlook מגביל כעת גם את השימוש בקבצים מסוג .oft אם קובץ .oft מכיל מאפיינים מותאמים אישית והמשתמש לא השתמש בעבר במאפיינים מותאמים אישית אלה, המאפיינים המותאמים אישית אינם במאגר ברירת המחדל של המשתמש. Outlook לא יעובד את הטופס המותאם אישית כאשר המשתמש ילחץ פעמיים על הקובץ. עם זאת, כדי ש- Outlook יפתח טופס מותאם אישית המאוחסן כקובץ .oft, לחץ על קובץ, לחץ על חדש ולאחר מכן לחץ על בחר טופס. לאחר מכן תוכל לשנות את המיקום לתבניות משתמש במערכת הקבצים ולאחר מכן ללחוץ על עיון כדי לפתוח את הקובץ .oft הטופס ייפתח, ובאפשרותך לשמור את המאפיינים המותאמים אישית במאגר ברירת המחדל.
לא מומלץ: השתמש במפתח הרישום AllowNamedProps
לארגונים מסוימים עשויות להיות סיבות חוקיות לכך שמאפיינים מותאמים אישית מסוימים יהיו זמינים ברחבי הארגון. אם נעשה שימוש בחנויות מרובות, מומלץ לוודא שניתן להוסיף קבוצה של מאפיינים מותאמים אישית לכל החנויות. לכן, Outlook 2003 SP2 וגירסאות מאוחרות יותר תומכות במפתחות רישום בצד הלקוח המצייצים אילו מאפיינים מותאמים אישית ניתן ליצור. כדי לציין אילו מאפיינים מותאמים אישית יש להפוך לזמינים, מאפיינים מותאמים אישית מוגדרים תחת מפתח הרישום הבא: HKEY_CURRENT_USER\Software\Microsoft\Office\<גירסה>\Outlook\AllowedNamedProps\
הערה במפתח רישום זה, <הגירסה> הוא מציין מיקום עבור גירסת Outlook שבה אתה משתמש. עבור Outlook 2003, מספר הגירסה הוא 11.0. עבור Outlook 2007, מספר הגירסה הוא 12.0. מספר הגירסה יגדל בגירסאות מאוחרות יותר של Outlook. מבנה מפתח הרישום הכולל עבור ערך ברישום הוא: <GUID><שם מאפיין>
"Kind" (dword)
"ID" (dword) "Type" (dword) מצייני המיקום הבאים משמשים במבנה מפתח הרישום:-
<GUID>: מכיל את ה- GUID המציין את ערכת המאפיינים. שדות מותאמים אישית של Outlook, או מאפיינים, שבהם אתה משתמש בטופס מותאם אישית של Outlook, כולם כוללים את ה- GUID {00020329-0000-0000-00000000046}. ב- MAPI, ה- GUID נקרא PS_PULIC_STRINGS. עם זאת, תוכניות MAPI מותאמות אישית עשויות לכלול מזהי GUID משלהן עבור מאפיינים מותאמים אישית.
-
<שם המאפיין>: מציין את שם המאפיין. אם המאפיין נקרא על-ידי מחרוזת, <שם המאפיין> הוא שם המחרוזת בפועל של המאפיין. אם שם המאפיין הוא מזהה, המערכת תתעלם מהערך של מפתח רישום זה. עם זאת, עליך לתת למאפיין שם ייחודי כדי שניתן יהיה לאחסן את המאפיין ברישום. אם מפתח Kind מוגדר ל- 1 או שהוא <> 0, שם מפתח הרישום יקבע את שם המאפיין. אם מפתח Kind אינו שווה ל- 1, המערכת תתעלם משם מפתח רישום זה.
-
"Kind" (dword): מציין אם שם המאפיין הוא על-ידי מזהה או על-ידי מחרוזת. אם הערך הוא 0, שם המאפיין ייקרא על-ידי מזהה. השם הוא ערך מספרי שצוין על-ידי מזהה. אם הערך הוא 1, שם המאפיין ייקרא על-ידי מחרוזת. הגדרה זו היא הגדרת ברירת המחדל כאשר "Kind" אינו קיים.
-
"ID" (dword): מכיל את שם המזהה של מאפיין ששמו הוא מזהה. מידע זה נדרש אם מקש Kind מוגדר ל- 0. אם מקש Kind מוגדר ל- 1, הפונקציה מתעלמת ממידע זה.
-
"Type" (dword): מציין את סוג המאפיין.
מפתח רישום זה נדרש, אך מפתח הרישום אינו נמצא בשימוש כעת. הטבלה הבאה מפרטת את הערכים האפשריים של מפתח רישום זה בהתבסס על סוג MAPI.
סוג MAPI |
ערך |
תיאור |
---|---|---|
PT_UNSPECIFIED |
0 |
שמור לשימוש בממשק, (הסוג אינו חשוב למתקשר) |
PT_NULL |
1 |
ערך מאפיין NULL |
PT_I2 |
2 |
ערך חתום של 16 סיביות |
PT_LONG |
3 |
ערך חתום של 32 סיביות |
PT_R4 |
4 |
נקודה צפה של 4 בתים |
PT_DOUBLE |
5 |
נקודה צפה כפולה |
PT_CURRENCY |
6 |
int חתום של 64 סיביות (עשרוני עם 4 ספרות מימין לנקודה עשרונית) |
PT_APPTIME |
7 |
זמן יישום |
PT_ERROR |
10 |
ערך שגיאה של 32 סיביות |
PT_BOOLEAN |
11 |
בוליאני של 16 סיביות (ערך שאינו אפס) |
PT_OBJECT |
13 |
אובייקט מוטבע במאפיין |
PT_I8 |
20 |
מספר שלם חתום של 8 בתים |
PT_STRING8 |
30 |
Null הסתיים במחרוזת של 8 סיביות |
PT_UNICODE |
31 |
מחרוזת Unicode שהופסקה ב- Null |
PT_SYSTIME |
64 |
FILETIME מספר שלם של 64 סיביות עם מספר 100 תקופות w/number מאז 1 בינואר, 1601 |
PT_CLSID |
72 |
OLE GUID |
PT_BINARY |
258 |
לא התבטל (מערך בית שנספר) |
PT_MV_UNSPECIFIED |
4096 |
|
PT_MV_NULL |
4097 |
|
PT_MV_I2 |
4098 |
|
PT_MV_LONG |
4099 |
|
PT_MV_R4 |
4100 |
|
PT_MV_DOUBLE |
4101 |
|
PT_MV_CURRENCY |
4102 |
|
PT_MV_APPTIME |
4103 |
|
PT_MV_ERROR |
4106 |
|
PT_MV_BOOLEAN |
4107 |
|
PT_MV_OBJECT |
4109 |
|
PT_MV_I8 |
4116 |
|
PT_MV_STRING8 |
4126 |
|
PT_MV_UNICODE |
4127 |
|
PT_MV_SYSTIME |
4160 |
|
PT_MV_CLSID |
4168 |
|
PT_MV_BINARY |
4354 |
להלן דוגמה לאופן הגדרת מאפיין בעל שם-לפי-מחרוזת:
Name: "MyStringFieldName1"
סוג: PT_LONG[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\AllowedNamedProps\{00020329-0000-0000-C000-000000000046}\MyStringFieldName1] "Type"=dword:00000003
להלן דוגמה לאופן הגדרת מאפיין בעל שם-לפי-מזהה:מזהה: 0x0330
סוג: PT_LONG[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\AllowedNamedProps\{00020329-0000-0000-C000-000000000046}\MyMAPIProp1] "Kind"=dword:00000000 "ID"=dword:00000330 "Type"=dword:00000003
עבור שתי דוגמאות אלה, הרישום מופיע בדומה לאפשרויות הבאות בעורך הרישום: {00020329-0000-0000-C000-00000000046}MyStringFieldName1
סוג = 3
MyStringFieldName2סוג = 3
{00020329-0000-0000-C000-00000000046}MyMAPIProp1
סוג = 0
מזהה = 330 סוג = 3 MyMAPIProp2סוג = 0
מזהה = 331 סוג = 3לא מומלץ: הפעל מחדש את היכולת ליצור מאפיינים
ניתן לפרוס שלושה מפתחות רישום במחשבי לקוח כדי לבטל את חסימת המאפיינים המותאמים אישית ונסה להחזיר את Outlook לאופן הפעולה הקודם שלו. מפתחות רישום אלה נתמכים על-ידי מדיניות קבוצתית. מפתחות הרישום הבאים יכולים להחזיר את Outlook 2003 לאופן הפעולה הקודם שלו:
הערה מפתחות הרישום הבאים אינם להחזיר את Outlook 2007 לאופן הפעולה הקודם שלו.-
AllowTNEFtoCreateProps (HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Options\Mail] "AllowTNEFtoCreateProps"=dword:00000000): אם הערך הוא 0, ל- TNEF/MIME אין אפשרות ליצור מאפיינים מותאמים אישית חדשים שאינם של Outlook. ערך זה הוא ערך ברירת המחדל. אם הערך הוא 1, TNEF/MIME יכול ליצור מאפיינים מותאמים אישית חדשים שאינם של Outlook.
-
AllowMSGFilestoCreateProps: אם הערך הוא 0, לקבצים מסוג .msg ולקבצים מסוג .oft אין אפשרות ליצור מאפיינים מותאמים אישית חדשים שאינם של Outlook. ערך זה הוא ערך ברירת המחדל. אם הערך הוא 1, קבצי .msg וקבצים מסוג .oft יכולים ליצור מאפיינים מותאמים אישית חדשים שאינם של Outlook.
-
DisallowTNEFPreservation: כדי להקל על ההעברה לאו אופן פעולה חדש זה, Outlook שומר את ה- TNEF המקורי כאשר מאפיינים מותאמים אישית אינם נוצרים. ה- TNEF המקורי נשמר בזרם בינארי בפריט שנשמר. Outlook משתמש בתג המאפיין הבא כדי לשמור את הזרם:
PR_TNEF_UNPROCESSED_PROPS PROG_TAG(PT_BINARY, 0x0e9C). The HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Options\Mail] "DisallowTNEFPreservation "=dword:00000000
הגדרת הרישום קובעת אם Outlook יוצר את PR_TNEF_UNPROCESSED_PROPS המאפיין. הערה המאפיין PR_TNEF_UNPROCESSED_PROPS מוסר מהודעה בעת הטבעת הודעה להודעה אחרת כקובץ מצורף. המאפיין PR_TNEF_UNPROCESSED_PROPS יוסר גם בעת העברת הודעה או מענה להודעה.