Összefoglalás
Az egyéni tulajdonságok vagy mezők konzisztens használatának garantálása érdekében a Microsoft Office Outlook 2003 Service Pack 2 (SP2) és az Outlook újabb verziói korlátozzák az egyéni tulajdonságok Outlook-adattárakba való bevezetésének néhány módját. Az egyéni tulajdonságok például az Outlook személyes mappáiban (.pst) megadott módon is bevezethetők.
BEVEZETÉS
Ez a cikk a következőket teszi:
-
Áttekintést nyújt az egyéni tulajdonságokról.
-
Ebből a cikkből megtudhatja, hogyan változott az egyéni tulajdonságok viselkedése az Outlook 2003 SP2-ben és az Outlook későbbi verzióiban.
-
Bemutat néhány ajánlott eljárást az új tulajdonságok létrehozásához, és néhány olyan módszert, amelyeket nem ajánlunk.
További információ
Tudnivalók az egyéni tulajdonságokról
Az egyéni tulajdonságokat az e-mail programok, például az Outlook használják, hogy további információkat adjanak hozzá az üzenetekhez. Ezeket a további információkat általában egy levelezőprogram egy adott célra használja fel. Az egyéni tulajdonságok azonban más módon is használhatók. Egyéni tulajdonságok például akkor adhatók hozzá üzenetekhez vagy elemekhez, ha egyéni Outlook-űrlapokat használ, és ezek az űrlapok egyéni mezőket tartalmaznak. Az egyéni tulajdonságokat gyakran használják további információk nyomkövetési célokra való hozzáadásához. Az egyéni tulajdonságok olyan adatok hozzáadására is használhatók, amelyeket a felhasználónak nem kell látnia. Az egyéni megoldások egyéni tulajdonságokat is hozzáadhatnak a normál elemekhez. Az egyéni megoldások programozott módon egyéni tulajdonságokat adnak hozzá egy üzenethez vagy elemhez egyéni űrlap nélkül.
Az egyéni tulajdonságok .msg fájlformátumban és .oft fájlformátumban is megőrizhetők az Outlookban. Emellett az egyéni tulajdonságok az interneten keresztül küldött e-mailekben is megőrizhetők, ha a feladó a Küldés Outlook Rich Text formátum használatával beállítást használja. Ez a beállítás az üzenet MAPI szakaszát foglalja magában Transport Neutral Encapsulation Format (TNEF) formátumban, majd a TNEF dekódolva lesz az üzenet fogadásakor. A feladó az alábbi esetekben küldhet egyéni tulajdonságokkal rendelkező e-mailt:-
A rendszer egyszeri egyéni űrlapot küld. Az egyszeri űrlapokban az űrlap beágyazódik az üzenetbe. Az űrlap máshol nincs közzétéve. Az egyszeri űrlapokról az alábbi cikkben talál további információt:
-
A rendszer elküld egy közzétett egyéni űrlapot. Ebben az esetben az egyéni űrlap nem lesz elküldve, mert az űrlap nincs beágyazva az üzenetbe. Az űrlapon használt egyéni tulajdonságok azonban továbbra is szerepelnek az üzenetben.
Megjegyzés Az egyéni tulajdonságokra sokféleképpen hivatkozhat attól függően, hogy milyen környezetben használják az egyéni tulajdonságokat. Az Outlook felhasználói felületén, például a Mezőválasztóban az egyéni tulajdonságokat felhasználó által definiált mezőknek vagy egyéni mezőknek nevezzük. Az Outlook-objektumtárban az egyéni tulajdonságok felhasználói tulajdonságoknak vagy felhasználó által definiált tulajdonságoknak nevezhetők a UserProperties gyűjtemény után. A MAPI-ben az egyéni mezők nevesített tulajdonságok. A MAPI a következőket teszi lehetővé:
-
Nevek hozzárendelése tulajdonságokhoz
-
Nevek leképezése egyedi azonosítókra
-
A leképezés állandóvá tétele
Az elnevezett tulajdonságok MAPI-ben való implementálásával kapcsolatos további információkért látogasson el az MSDN következő webhelyére:
http://msdn2.microsoft.com/en-us/library/ms529055.aspx Megjegyzés Exchange-környezetben a cikkben használt "áruház" kifejezés egy teljes postaládatárolóra (adatbázisra) vonatkozik. A kifejezés nem hivatkozik egy adott felhasználó postaládatárolójára. Egy szervezet egy vagy több Exchange-postaláda-adatbázist is tartalmazhat.
Viselkedésváltozások az Outlookban
A MAPI implementációja módosult az Outlookban, így szabályozható az egyéni tulajdonságok létrehozása. Az egyéni tulajdonságok konzisztens használatának garantálásához az egyéni tulajdonságokat már használni kell a szervezetben vagy az Outlook-ügyfélen. Amint egyéni tulajdonságokat használnak vagy regisztrálnak, az egyéni tulajdonságok szabadon továbbíthatók más Outlook-ügyfeleknek vagy Exchange Server futó kiszolgálóknak. Az egyéni tulajdonságok az interneten keresztül is elküldhetők.
Az e-maileket általában MIME formátumban küldik el az interneten keresztül. Amikor az Outlook internetes e-mailt kap, az üzenet MAPI-reprezentációvá alakul. Az alábbiakban példákat láthat az internetes e-mail protokollokra:-
POP
-
IMAP
-
HTTP (Outlook.com)
Alapértelmezés szerint az Outlook már nem engedélyezi az internetes levelezés számára az új egyéni tulajdonságok létrehozását. Csak az alapértelmezett levélkézbesítési tárolóban már létrehozott tulajdonságok maradnak meg a bejövő e-mailek esetében. Ez a változás leginkább a beágyazott TNEF-ben (Winmail.dat) küldött üzenetekre van hatással, ahol a feladó a Küldés Outlook Rich Text formátum használatával beállítást használta. Az X-üzenet fejléctulajdonságokat tartalmazó internetes üzenetekre azonban ez is hatással van.
Megjegyzés Az Exchange-szervezetben küldött egyéni tulajdonságokat tartalmazó üzenetekre ezek a módosítások nem lesznek hatással. Az egyéni tulajdonságok .msg fájlokba és .oft fájlokba is menthetők. Ha egy felhasználó egyéni tulajdonságokkal rendelkező .msg fájlt nyit meg, a rendszer nem menti ezeket az egyéni tulajdonságokat az alapértelmezett tárolóba az üzenet mentésekor, továbbításakor és így tovább. Az egyéni Outlook-űrlapok biztonsági mentéséhez általában .oft fájlokat használnak. Az .oft fájlok esetében az új viselkedés minden elemre érvényes. Az egyéni űrlap nem nyílik meg. Ehelyett az üzenet az adott elemtípus alapértelmezett űrlapjában jelenik meg. Összefoglalva, ez a kialakításbeli változás két dolgot okozhat:-
Az Outlook figyelmen kívül hagyja a nem létező egyéni tulajdonságokat. Ha egy egyéni tulajdonság nem létezik a kézbesítési tárolóban, a tulajdonság nem jön létre, és az értéke elveszik. Ha az egyéni tulajdonság már létezik a kézbesítési tárolóban, az értéke megmarad. Ez a módosítás a következőkre vonatkozik:
-
A TNEF-et és beágyazott üzeneteiket tartalmazó internetes e-mailek.
-
S/MIME-üzenetek.
-
.msg fájlok, amikor az .msg fájlt egy Outlook-elem ablakába csepegteti, hogy a fájlt egy másik elemhez adja. Ez a módosítás akkor is érvényes az .msg fájlokra, ha az .msg fájlt a fő Outlook-ablakba helyezi, és hozzáadja a fájlt egy mappához vagy a Microsoft Word ablakához, amikor Word e-mail szerkesztőként használja.
-
.msg fájlok, amelyekre a felhasználó duplán kattint vagy jobb gombbal kattint a megnyitáshoz.
-
-
Az Outlook figyelmen kívül hagyja az egyszeri űrlapdefiníciót. Ha egy egyszeri űrlap egyéni tulajdonságot határoz meg, és az egyéni tulajdonság nem létezik a kézbesítési tárolóban, a rendszer nem jeleníti meg az egyszeri űrlapot. Ehelyett a felhasználó az adott elemtípus alapértelmezett űrlapját fogja látni. Ez a módosítás azokra az internetes e-mail üzenetekre vonatkozik, amelyek egyszeri űrlapdefiníciót tartalmaznak, amely a TNEF-ben van beágyazva. Ez a módosítás azokra az .oft fájlokra is vonatkozik, amelyekre a felhasználó duplán kattint vagy jobb gombbal kattint a megnyitáshoz.
Ajánlott eljárások és az új tulajdonságok létrehozásának egyéb módjai
Számos különböző módon tervezhet és fejleszthet egyéni megoldásokat. E megközelítések némelyike ajánlott eljárásnak minősül. Más megközelítések is működhetnek, de egy vagy több okból nem javasoljuk ezeket a megközelítéseket.
Ajánlott eljárás: Egyéni mezők hozzáadása programozott módon
Különböző API-k használatával programozott módon adhat hozzá egyéni mezőket az elemekhez. Ehhez használja a UserProperties.Add metódust az Outlook objektumtárában ("Outlook.Application"). Az alábbi kód ezt az ajánlott eljárást mutatja be.
Set myProp = myItem.UserProperties.Add("MyPropName", olText)
A CDO objektumtárat ("MAPI" is használhatja. Munkamenet") egyéni mezők hozzáadásához. További információért látogasson el az MSDN következő webhelyére:
http://msdn2.microsoft.com/en-us/library/ms527518.aspx C++ fejlesztők számára a kiterjesztett MAPI használható nevesített tulajdonságok hozzáadására. További információért látogasson el az MSDN következő webhelyére:
Ajánlott eljárás: Egyéni mezőket tartalmazó közzétett egyéni űrlapok használata
Az Outlook nagyrészt megbízik a közzétett egyéni űrlapokban. Az Outlook azonban nem bízik meg a közzé nem tette űrlapok és az egyszeri űrlapok között. Ide tartoznak az .oft fájlok. Ezért egyéni űrlapmegoldás tervezésekor határozottan javasoljuk, hogy tegye közzé az egyéni űrlapot. Úgy kell megterveznie az űrlapot, hogy az ne váljon egyszeri űrlapmá. Amíg egy űrlap közzé van téve, az outlookbeli módosítás nem érinti az űrlapot.
Amikor egy .oft fájlt tesz közzé egy másik tárolóban, az alapértelmezett tároló lehetővé teszi tulajdonságok létrehozását az adott tárolóban. Emellett ha egyéni tulajdonságokkal rendelkező egyéni űrlapot hoz létre, és közzéteszi azt a megfelelő űrlaptárban vagy mappában, az egyéni tulajdonságok az érintett tárolókban lesznek létrehozva.Ajánlott eljárás: Egyéni űrlapok programozott üzembe helyezése
Ha egyéni Outlook-űrlapot fejleszt, amelyet mások is használni fognak, kevés módszert használhat. A használt megközelítés több tényezőtől függ. Ilyen tényező például az űrlap típusa, hogy ki fogja használni az űrlapot, hol fogja használni az űrlapot, és így tovább. Ha egy egyéni űrlapot sokan használnak, általában azt javasoljuk, hogy tegye közzé az űrlapot a Szervezeti űrlaptárban. Ha azonban ez nem lehetséges, az űrlapot közzéteheti egy megosztott mappában vagy egyes felhasználók Személyes űrlaptárában. Egyéni űrlapokat programozott módon is telepíthet az Outlook objektumtár CreateItemFromTemplate metódusával. A CreateItemFromTemplate metódussal nyithat meg egy .oft fájlt, majd közzéteheti az űrlapot a PublishForm metódussal. Ebben az esetben az egyéni tulajdonságok módosításai nem befolyásolják az .oft fájlokat.
Nem ajánlott: .oft-fájlok telepítése vagy elküldése a felhasználók számára a megnyitáshoz
Az Outlook egyéni űrlapjait .oft fájlként mentheti. Ezek az űrlapok tartalmazhatnak egyéni mezőket, felhasználói felületi módosításokat és egyéni Microsoft Visual Basic Scripting Edition- (VBScript-) kódot az űrlap funkcióinak hozzáadásához. Bár az Outlook már tartalmaz olyan funkciókat, amelyek megakadályozzák a .oft fájlok VBScript-kódjának futtatását, az Outlook mostantól az .oft fájlok használatát is korlátozza. Ha egy .oft fájl egyéni tulajdonságokat tartalmaz, és a felhasználó korábban nem használta ezeket az egyéni tulajdonságokat, az egyéni tulajdonságok nem szerepelnek a felhasználó alapértelmezett tárolójában. Az Outlook nem jeleníti meg az egyéni űrlapot, amikor a felhasználó duplán kattint a fájlra. Ha azonban azt szeretné, hogy az Outlook egy .oft fájlként tárolt egyéni űrlapot nyisson meg, kattintson a Fájl, majd az Új, majd az Űrlap kiválasztása elemre. Ezután módosíthatja a helyet Felhasználói sablonokra a fájlrendszerben, majd a Tallózás gombra kattintva nyissa meg az .oft fájlt. Ekkor megnyílik az űrlap, és mentheti az egyéni tulajdonságokat az alapértelmezett tárolóba.
Nem ajánlott: Használja az AllowNamedProps beállításkulcsot
Egyes szervezeteknek érvényes oka lehet, hogy bizonyos egyéni tulajdonságok elérhetők a teljes szervezetben. Ha több áruházat használ, érdemes lehet gondoskodni arról, hogy az összes üzlethez hozzá lehessen adni egyéni tulajdonságokat. Ezért az Outlook 2003 SP2 és újabb verziói támogatják az ügyféloldali beállításkulcsokat, amelyek meghatározzák, hogy mely egyéni tulajdonságok hozhatók létre. Az egyéni tulajdonságok engedélyezésének megadásához az egyéni tulajdonságok a következő beállításkulcs alatt vannak meghatározva: HKEY_CURRENT_USER\Software\Microsoft\Office\<version>\Outlook\AllowedNamedProps\
Megjegyzés: Ebben a beállításkulcsban <> verzió a használt Outlook-verzió helyőrzője. Outlook 2003 esetén a verziószám 11.0. Outlook 2007 esetén a verziószám 12.0. A verziószám az Outlook későbbi verzióiban nőni fog. A beállításjegyzék egy bejegyzésének általános beállításkulcs-struktúrája a következő: <GUID><tulajdonságnév>
"Kind" (dword)
"ID" (dword) "Típus" (dword) A beállításkulcs szerkezetében a következő helyőrzők használatosak:-
<GUID>: A tulajdonságkészletet meghatározó GUID-t tartalmazza. Az Outlook egyéni űrlapján használt egyéni Outlook-mezők vagy tulajdonságok mindegyike tartalmazza a(z) {00020329-0000-0000-C000-000000000046} GUID azonosítót. A MAPI-ben a GUID a PS_PULIC_STRINGS. Előfordulhat azonban, hogy az egyéni MAPI-programok saját GUID azonosítókkal rendelkeznek az egyéni tulajdonságokhoz.
-
<tulajdonságnév>: A tulajdonság nevét adja meg. Ha a tulajdonságot egy sztring nevezi el, a <Tulajdonságnév> a tulajdonság tényleges sztringneve. Ha a tulajdonság neve azonosító alapján történik, a rendszer figyelmen kívül hagyja ennek a beállításkulcsnak az értékét. Azonban egyedi nevet kell adnia a tulajdonságnak, hogy a tulajdonság tárolható legyen a beállításjegyzékben. Ha a Kind kulcs értéke 1 vagy <> 0, a beállításkulcs neve határozza meg a tulajdonság nevét. Ha a Kind kulcs nem egyenlő 1-el, a rendszer figyelmen kívül hagyja ezt a beállításkulcsnevet.
-
"Kind" (dword): Azt adja meg, hogy a tulajdonság neve azonosító vagy sztring alapján történik-e. Ha az érték 0, akkor a tulajdonságot egy azonosító fogja elnevezni. A név egy azonosító által megadott numerikus érték. Ha az érték 1, a tulajdonságot egy sztring fogja elnevezni. Ez az alapértelmezett beállítás, ha a "Kind" nincs jelen.
-
"ID" (dword): Egy azonosító által elnevezett tulajdonság azonosítónevét tartalmazza. Erre az információra akkor van szükség, ha a Kind kulcs értéke 0. Ha a Kind kulcs értéke 1, a rendszer figyelmen kívül hagyja ezt az információt.
-
"Típus" (dword): A tulajdonság típusát adja meg.
Ez a beállításkulcs kötelező, de a beállításkulcs jelenleg nincs használatban. Az alábbi táblázat a beállításkulcs lehetséges értékeit sorolja fel a MAPI típus alapján.
MAPI-típus |
Érték |
Leírás |
---|---|---|
PT_UNSPECIFIED |
0 |
Felületi használatra fenntartva (a típus nem fontos a hívó számára) |
PT_NULL |
1 |
NULL tulajdonságérték |
PT_I2 |
2 |
Aláírt 16 bites érték |
PT_LONG |
3 |
Aláírt 32 bites érték |
PT_R4 |
4 |
4 bájtos lebegőpontos |
PT_DOUBLE |
5 |
Lebegőpontos dupla |
PT_CURRENCY |
6 |
Aláírt 64 bites int (decimális w/4 számjegy a tizedesjel jobb oldalán) |
PT_APPTIME |
7 |
Alkalmazás ideje |
PT_ERROR |
10 |
32 bites hibaérték |
PT_BOOLEAN |
11 |
16 bites logikai (nem nulla igaz) |
PT_OBJECT |
13 |
Beágyazott objektum egy tulajdonságban |
PT_I8 |
20 |
8 bájtos aláírt egész szám |
PT_STRING8 |
30 |
Null értékű, 8 bites sztring |
PT_UNICODE |
31 |
Null értékű leállított Unicode-sztring |
PT_SYSTIME |
64 |
FILETIME 64 bites egész szám, 1601. január 1. óta eltelt 100ns időszakok száma |
PT_CLSID |
72 |
OLE GUID |
PT_BINARY |
258 |
Nem értelmezett (megszámlált bájttömb) |
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 |
Az alábbiakban egy példa látható egy elnevezett sztring típusú tulajdonság beállítására:
Név: "MyStringFieldName1"
Típus: PT_LONG[HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\AllowedNamedProps\{00020329-0000-0000-C000-000000000046}\MyStringFieldName1] "Type"=dword:00000003
Az alábbiakban egy példa látható egy névvel ellátott tulajdonság beállítására:Azonosító: 0x0330
Típus: 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
Ebben a két példában a beállításjegyzék az alábbihoz hasonlóan jelenik meg a Beállításszerkesztőben: {00020329-0000-0000-C000-00000000046}MyStringFieldName1
Típus = 3
MyStringFieldName2Típus = 3
{00020329-0000-0000-C000-00000000046}MyMAPIProp1
Kind = 0
ID = 330 Típus = 3 MyMAPIProp2Kind = 0
ID = 331 Típus = 3Nem ajánlott: Tulajdonságok létrehozásának újbóli engedélyezése
Három beállításkulcs telepíthető az ügyfélszámítógépeken az egyéni tulajdonságok blokkolásának letiltásához és az Outlook korábbi viselkedésének visszaállításához. Ezeket a beállításkulcsokat csoportházirendek támogatják. A következő beállításkulcsok visszaállíthatják az Outlook 2003-at a korábbi működésre:
Megjegyzés Az alábbi beállításkulcsok nem állíthatók vissza az Outlook 2007-nek a korábbi működésre.-
AllowTNEFtoCreateProps (HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Options\Mail] "AllowTNEFtoCreateProps"=dword:00000000): Ha az érték 0, a TNEF/MIME nem tud új, nem Outlook-beli egyéni tulajdonságokat létrehozni. Ez az alapértelmezett érték. Ha az érték 1, a TNEF/MIME új, nem Outlook-beli egyéni tulajdonságokat hozhat létre.
-
AllowMSGFilestoCreateProps: Ha az érték 0, az .msg fájlok és az .oft fájlok nem hozhatnak létre új, nem Outlook-alapú egyéni tulajdonságokat. Ez az alapértelmezett érték. Ha az érték 1, az .msg-fájlok és az .oft fájlok új, nem Outlook-alapú egyéni tulajdonságokat hozhatnak létre.
-
DisallowTNEFPreservation: Az új viselkedésre való migrálás megkönnyítése érdekében az Outlook megőrzi az eredeti TNEF-et, ha az egyéni tulajdonságok nem jönnek létre. Az eredeti TNEF a mentett elem bináris adatfolyamában lesz mentve. Az Outlook a következő tulajdonságcímkével menti a streamet:
PR_TNEF_UNPROCESSED_PROPS PROG_TAG(PT_BINARY, 0x0e9C). The HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Options\Mail] "DisallowTNEFPreservation "=dword:000000000
beállításjegyzék-beállítás szabályozza, hogy az Outlook létrehozza-e a PR_TNEF_UNPROCESSED_PROPS tulajdonságot. Megjegyzés Az PR_TNEF_UNPROCESSED_PROPS tulajdonság el lesz távolítva egy üzenetből, amikor mellékletként ágyaz be egy üzenetet egy másik üzenetbe. A PR_TNEF_UNPROCESSED_PROPS tulajdonság is el lesz távolítva, amikor üzenetet továbbít vagy válaszol egy üzenetre.