Categoryoutlook

Utállak, de ha erőszakos vagy, bejöhetsz

Elolvastam ezt az írást és kedvet kaptam rá, hogy eljátsszak az induláskor létrehozott @outlook.com accountommal. Az eredmény nem volt rossz, bár még messze nem próbáltam ki mindent.
Viszont a Gmail accountom átszippantása, az érdekes volt. Szépen beállítottam mindent, de csak egy kövér errort kaptam vissza. Az MS help szépen leírta, hogyan lehet engedélyezni a Gmail-ben a letöltést, de ezt ugyan írhatta, régen be volt állítva, hiszen mindkét gépem Outlookjából így kapkodom le, mondjuk úgy, hogy biztonsági másolatként. Más lesz itt a baki.
Meg is lett. Belépve a Gmail inboxba, láttam, hogy a fiúk nagyon óvják a postafiókomat. Azt írták, hogy egy nagyon gyanús helyről, bizonyos hotmail.com-ról valaki be akart lépni a nevemben, de ők résen voltak és nem engedték meg neki. A bestyének. Az, hogy mind a két gépemről be szoktam lépni pop3-mal és leszedem az inbox tartalmát, az nem zavarta őket. A hotmail.com, na az már igen. Én meg néztem, mint Rozi a moziban, mert a Gmail help csupa általános marhaságot írt arról, hogyan tudnám mégis engedélyezni ezt az utálatos hotmailt. Aztán a végén csak kinyögték a megoldást: menjek el egy linkre, ott nyomjak meg egy gombot, ekkor elindul egy számláló és ha tíz percen belül megint megpróbálkozom a gyanús helyről, akkor arról a címről leveszik a lockolást.
Azért félelmetes dolog ez a technika.

Testcsel

A fejlődés egész egyszerűen visszafordíthatatlan.

Nézzünk is rögtön két példát. Az Outlook blog például ezért lelkesedik:

One of the new features in Outlook 2013 that I’ve heard a lot of positive feedback about is Quick Response, which lets you write replies or forwards without leaving your inbox. This feature came about when we observed that people using Outlook often have a number of reply windows open, taking up screen space and complicating their experience of using Outlook.
To simplify the experience of responding to email, Outlook 2013 now lets you reply directly from your inbox, without the hassle of opening a new window.

Hát, igen. A válaszlevél nem új ablakban nyílik meg, hanem a gyors betekintő panelben. Ez igen. Hol is láttam utoljára ilyesmit? Már nem emlékszem pontosan, de mintha G betűvel kezdődött volna.

És mi történik közben a másik oldalon? Figyeljük meg, milyen újítást vezettek be a Gmail fejlesztői?

How many times have you been writing an email and had to reference something in another message? Saving a draft, opening the old email, and then reopening your draft wastes valuable minutes. The new compose pops up in a window, just like chats (only larger).

Azaz bevezették, hogy az új email komponálás – beleértve a válaszlevél komponálását is – immár új ablakban nyílik meg.

Csodás, nem? Ezek az egyértelmű, kiszámítható trendek. Feltételezem, mindkét helyen hosszas kutatómunka előzte meg a GUI átalakítást, ahogy az ilyenkor megszokott.

Lookeen

Ha téged is olyan munkahellyel vert meg a sors, ahol még mindig 150/300 MB postafióklimitek vannak, kéthavonkénti automatikus levéltörléssel, akkor tudom ajánlani a címben megnevezett programot. Ez ugyanis képes arra, hogy egybeindexeli a postafiókodat a szükségképpen összegyűlő 10-12 lokális pst-vel, majd egyszerre tud keresni mindenhol. Az indexelés a háttérben fut, a keresés pedig – értelemszerűen – gyors.

Egyébként volt már ilyen program, Lookout-nak hívták és írtam is már róla. De azt már az Outlook 2007-hez is csak hekkelés után lehetett feltenni (jelzem, Windows7 alatt már így sem működik, de lehet, hogy inkább egy Office SP vágja tönkre), azóta pedig gyakorlatilag eltűnt a térképről. A Lookeen fejlesztői nem titkolják, hogy ezt az űrt szeretnék betölteni: már a program neve is utal az elődre, a kinézete, a kezelői felülete pedig teljesen megegyezik vele. Egy, nem is apró különbség azért van, a Lookeen már fizetős. De ha vesztél már el tök azonos nevű, különböző pst-kben lévő folderekben, akkor legalábbis elgondolkodtató ez a 35 euró. (Ja, tud desktop search-öt is, de azt ma már mindenhol ingyen vágják az ember után.)

Hiányzó képek

A biztonság jó dolog.

Csak épp néha piszokul bosszantó.

Vegyük elő kedvenc Outlookunkat és tapasztalni fogjuk, hogy a beérkezett levelek egy jó részében nincsenek képek, csak egy kék figyelmeztető sáv, hogy ha akarjuk, akkor letölthetjük a képeket, de ez biztonságilag kockázatos.

Miért van ez így? Miért van az, hogy bizonyos levelekben vannak képek és bizonyos levelekben nincsenek?

A HTML formátumú levelekbe a képeket két módszer szerint tudjuk berakni.

Az egyik az úgy nevezett Online HTML. Ebben az esetben a levélben van egy img tag, aminek az src attributuma egy web szerveren tárolt képre mutat. Ennek a megoldásnak az az előnye, hogy az elküldött levél maga viszonylag kicsi lesz, mert a képek nincsenek benne. További előny, hogy a küldő tud a háttérben statisztikát vezetni arról, hogy az adott levelet megnyitották-e (ha letöltötte a címzett a képet, akkor megnyitotta a levelet). Előny lehet még a feladó számára, hogy a képet utólag is tudja módosítani*. Ennek a megoldásnak vannak hátrányai is. Az Outlook az ilyen levelekre rakja fel a fent említett kék csíkot és nem tölti le a képeket. Ha valamiért a címzett, vagy a küldő web szervere offline, akkor nem tudunk hozzáférni a képekhez.

A másik az Offline HTML, amelyben az img tag src attributuma egy cid bejegyzést tartalmaz ami a levélben magában lévő rejtett csatolmányra mutat. Ez tartalmazza a képet magát. Előnye, hogy mindig elérhető a címzett számára, az Outlook nem szűri ki, ugyanakkor hátránya, hogy nagyméretűek lesznek a levelek tőle.

Vajon az Outlook miért szűri ki az első levél típusban szereplő képeket?

Mert ez a gépre nézve potenciális támadást is hordozhat. Az elmúlt években több olyan sérülékenység is napvilágra került, amit a Windows képfeldolgozó motorjában találtak és speciálisan formázott képfájlal kihasználhatóak voltak. Tehát, ha nem töltöm le a képet, akkor nem tud kárt okozni.

De engem zavar, hogy állandóan kézzel kell letöltenem a levelet. Ki lehet kapcsolni?

Igen, de nem érdemes, az ok az előbb taglalt biztonság.

Jó, de akkor mi a megoldás? Hogyan lehetne elérni, hogy azoknál a leveleknél, amiknél én szeretném automatikusan letöltődjenek a képek (pl. rendszeres, olvasott hírlevelek).

Erre van megoldás. Ha megnézzük az Outlook biztonsági beállításai között találunk egy ilyet:

 Trusted Zone

Bekarikáztam a lényeget. Tehát, ha a kép forrását berakjuk az Internet Explorer Trusted Zone-ba akkor a képet automatikusan le tudjuk tölteni.

Ok. Akkor rakjuk be. Na, ezzel lesz némi gond. Nincs olyan gomb, menü, valami az Outlookban, ami ezt megtenné nekünk. Ha van egy levelünk, aminek a linkjeit használni szeretnék, akkor szükségünk lenne a levél HTML forrására, hogy ki tudjuk másolni a megfelelő linket. Sajnos ezzel sem rendelkezünk, ugyanis ezt az  Outlook eldugja előlünk.

Mit tehetünk? Programozunk.

Írtam egy pici Outlook makrót, ami beköltözik a levél context menüjébe és ha ott rábökünk a Trust Picture Source menüpontra, akkor a levélben (vagy levelekben) lévő img src attributumokból kibogarássza a web oldalak címeit és berakja őket a Trusted Zone-ba.

A dolog működik, csak egyetlen szépséghibája van. A működés eredménye, csak az Outlook újraindítása után látható. A kód Outlook 2007-en működik (a korábbiakon nem).

Akkor rakjuk fel!

Nyissunk az Outlookban egy VBA ablakot (Alt+F11) A ThisOutlookSession-on jobb egérgomb, View Code.

Ide másoljuk be ezt:

Option Explicit
Private TrustPictureContextMenus As TrustPicturesMenu
Private WithEvents objOL As Outlook.Application
Private Sub Application_Quit()
    Set TrustPictureContextMenus = Nothing
End Sub
Private Sub Application_Startup()
    Set TrustPictureContextMenus = New TrustPicturesMenu
End Sub

Ezek után a Class Modules ágon jobb egérgomb, Insert/Class Module. Majd a keletkezett modult nevezzük át TrustPicturesMenu-re.

A kód ablakba pedig rakjuk be ezt:

Option Explicit
Private WithEvents objOL As Outlook.Application
Private WithEvents objTrustPictureButton As Office.CommandBarButton
Private Sub Class_Initialize()
    Set objOL = Outlook.Application
End Sub
Private Sub objTrustPictureButton_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
    Dim RE As Object, REMatches As Object
    Set RE = CreateObject("vbscript.regexp")
    With RE
        .MultiLine = False
        .Global = True
        .IgnoreCase = True
        .Pattern = "<img\b[^>]*src=""(https?)://([^/]*)[^""]*""[^>]*>"
    End With
    ReDim Sites(1, 0) As String
    Dim objItem
    Dim SiteFound As String
    Dim ProtocolFound As String
    Dim SiteInArr As Boolean
    Dim SiteMatch
    Dim Site
    Dim i
    For Each objItem In objOL.ActiveExplorer.Selection
        Set REMatches = RE.Execute(objItem.HTMLBody)
        For Each SiteMatch In REMatches
            SiteFound = LCase(SiteMatch.SubMatches(1))
            ProtocolFound = LCase(SiteMatch.SubMatches(0))
            SiteInArr = False
            For i = 0 To UBound(Sites, 2)
                If Sites(0, i) = SiteFound And Sites(1, i) = ProtocolFound Then
                    SiteInArr = True
                    Exit For
                End If
            Next
            If Not SiteInArr Then
                If Sites(0, UBound(Sites, 2)) <> "" Then
                    ReDim Preserve Sites(1, UBound(Sites, 2) + 1)
                End If
                Sites(0, UBound(Sites, 2)) = SiteFound
                Sites(1, UBound(Sites, 2)) = ProtocolFound
            End If
        Next
    Next
    Dim DomainPartArr
    Dim HostPart As String
    Dim DomainPart As String
    Dim j, k
    For i = 0 To UBound(Sites, 2)
        DomainPartArr = Split(Sites(0, i), ".")
        DomainPart = ""
        HostPart = ""
        For j = 0 To UBound(DomainPartArr) - 2
            HostPart = HostPart + DomainPartArr(j)
            If j < UBound(DomainPartArr) - 2 Then
                HostPart = HostPart + "."
            End If
        Next
        For k = j To UBound(DomainPartArr)
            DomainPart = DomainPart + DomainPartArr(k)
            If k < UBound(DomainPartArr) Then
                DomainPart = DomainPart + "."
            End If
        Next
        RegKeySave "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\" _
                    & DomainPart & "\" & HostPart & "\" & Sites(1, i), 2, "REG_DWORD"
    Next
End Sub
Sub RegKeySave(i_RegKey As String, i_Value, Optional i_Type As String = "REG_SZ")
    Dim myWS As Object
    Set myWS = CreateObject("WScript.Shell")
    myWS.RegWrite i_RegKey, i_Value, i_Type
End Sub
Private Sub objOL_ItemContextMenuDisplay(ByVal CommandBar As Office.CommandBar, ByVal Selection As Selection)
    Dim objItem As Object
    Dim blnFoundItem  As Boolean
    Dim objCBB As Office.CommandBarButton
    For Each objItem In Selection
        If objItem.Class = olMail Or objItem.Class = olPost Then
            blnFoundItem = True
            Exit For
        End If
    Next
    If blnFoundItem = True Then
        Set objCBB = CommandBar.Controls.Item(1)
        objCBB.BeginGroup = True
        Set objCBB = CommandBar.Controls.Add(msoControlButton, , , , True)
        objCBB.Style = msoButtonWrapCaption
        objCBB.Caption = "Trust Picture Source"
        objCBB.BeginGroup = True
        Set objTrustPictureButton = objCBB
    End If
End Sub

 Mentsük el az egészet.

Ezek után, már csak a kód biztonsági beállításokat kell megtennünk, hogy a dolog működjön (digitális aláírás, miegymás 🙂 )

Használata:

Odanavigálunk kiszemelt levelünkhöz, nyomunk rajta egy jobb egérgomot és…

Context Menu

 * Erről van egy történetem. Van egy ismerősöm, aki az egyik magyar banknál dolgozott biztonsági szakértőként. Egy spammer banda az ő bankjuk nevében küldött megtévesztő leveleket (phishing). A rosszfiúk elkövették azt a hibát, hogy Online HTML levelet küldtek, amiben a logo a bank honlapjára mutatott. Az ismerősöm fogta magát és kicserélte a logót a honlapon egy figyelmezetésre, melyben jelezte, hogy a levél hamis és a tartalmát senki se vegye figyelembe.

Outlook kapcsolók

Ezt leginkább csak magamnak.

Néhány kapcsoló Outlook indításakor:

  • /Cleanviews
  • /CleanProfile
  • /CleanReminders
  • /CleanRules
  • /ResetFolders
  • /Rpcdiag

Különösen ez az utolsó tűnik izgalmasnak.

Outlook 2007 és a HTML

Az elmúlt hetekben a hírlevél küldés rejtelmeivel foglalkozom céges szinten. Miután saját hírlevélküldő motorom még nincs (a régi félkész levlista motorom, és a házi barkács scriptjeim nem igazán alkalmasak a feladatra) ezt használom erre a célra.

A napokban felmerült, hogy bizonyos saját termékeinket hirdetni kellene a hírleveleinkben. Azt gondoltam, hogy belepakolok a levélbe egy flash bannert. Csináltam is valami tesztet, el is küldtem magamnak. A banner helyett egy kedves piros X jött. Gondoltam biztos én vagyok a béna, mert a flash-t nem sima img-ként kell a html-be illeszteni (html-ből, css-ből eléggé limitált a tudásom). Fel is hívtam az ügyben guru ismerősöm, aki elmondta, hogy valóban nem img ami nekem kell, de:

1. Fejből nem tudja, hogy mi kéne

2. Az Outlook 2007 szerinte nem eszi a flash-t és a neten valahol van egy doksi ami beszél erről

Ok, akkor hagyjuk a flash-t van nekem egy animált gif-em az egyik termékhez, majd használom azt, ha elő tudom bányászni (az IE biztonsági beállításai miatt nem tudtam kimenteni az ADserver-ünkről). Addig is szóltam az online szerkesztőnek, hogy próbálja meg előkaparni.

Malmozás helyett nekiálltam túrni a netet a fenti Outlook doksi után.

Az első amit találtam egy cikk amiben azon pörög a szerző (mint később magam is rájöttem, joggal), hogy az Outlook 2007-ben a HTML rendering engine az IE helyett a Word.

Másodszorra rábukkantam az ismerős által emlegetett két Microsoft cikkre:

Rögtön az első cikkben meg is lett a válasz a flash/animált gif kérdésre:

Other Unsupported Web-Related Features

The following is a list of all other Web-related features that Word 2007 does not support:

  • Animated GIF images. Only a static representation of the GIF image shows.
  • Flash. Only a red “X” shows in the area where the flash would display.

Nem vagyok boldog.

Ráadásul a még csináltak egy külön HTML validatort kifejezetten az Outlook 2007-hez, amikor, ha csak betartották volna a szabványt, akkor nyugodtan lehetne ezt használni.

Outlook – look out!

Örültem az Outlook2007-nek, a grafikai újításai határozottan tetszenek. Azóta élvezettel használom újra a Calendar/Task részét, teljesen jól átlátható lett, tényleg segít a tervezésben. De két dolog megkeserítette az örömömet.

Az egyik a beépített kereső. Lassúúú. Nehézkes. Oké, bele lehet rakni a Desktop search-öt, de egyrészt nem örülök neki, hogy az mellesleg nekiáll a fájlrendszert is piszkálni, másrészt nem sokkal lesz gyorsabb tőle a keresés.
A másik szívfájdalmam a lassú indulás. Az Outlook 2003 elindult, fél percen belül lekapta az átlagosan napi 100 levelet – és szét is szórta a folderekbe. Ezzel ellentétben az Outlook 2007 – ugyanazokkal a szabályokkal – simán elszuttyog 4-5 percig is a levelekkel, úgy, hogy az utolsó egy percben már nincs is mit letöltenie, mégis, az utolsó néhány levél még nem jelenik meg. Valahol a semmi szélén lebeghetnek. Egyhetes nyaralásról hazatérve lazán összejön a 20 perces várakozás is. (Patch, Sp1 mind fent van.)
Eleinte azt gondoltam, lehet, hogy a desktop search kavar be, azért ilyen lassú. Bizonyos okokból többször is újra kellett telepítenem a gépemet, az utóbbi időkben már nem is raktam fel az asztali keresőt – de nem lett jelentősen gyorsabb. Inkább le is mondtam a keresgélésről – pontosabban, használtam a fejembe épített indexfájlt.

Egészen addig, amíg rá nem bukkantam, hogy Joel-t ugyanez a féreg rágja. Csakhogy ő a megoldást is megtalálta: lookout.
Ez egy népszerű, apró programocska volt, semmi másra nem lehetett használni, csak arra, hogy Outlook adatokat indexeljen és keressen bennük. Ezt viszont piszok jól tudta. Olyannyira jól, hogy a Microsoft fejlesztőstől együtt meg is vette a terméket. Hogy aztán itt mi történt, hogyan történt, arról túl sokat nem lehet tudni, de a fejlesztő hamarosan kilépett a cégtől, a program pedig a mai napig nem épült be az Outlookba. Maradt a Desktop Search. Ráadásul a helyzet annyival rosszabb is lett, hogy az Outlook 2007 alá már nem lehet feltelepíteni a programot, mert a levelező nemes egyszerűséggel nem indul el.

Aranyos. Szerencsére Joel nem hagyta annyiban, utánanézett és a fejlesztő blogjában talált is egy írást. Eszerint az illető megtalálta, miért nem indul az Outlook és le is írta, hogyan lehet körbedolgozni a problémát. Letöltöttem, körbedolgoztam, kipróbáltam – remekül működik. Piszok gyors és nem kér enni.

De az Outlook még mindig rohadt lassan indul.

Link a levélben

Mit csinál valaki, ha hónapokig dühöng, nem találja a megoldást, majd egyszer csak rájön, hogy ő volt a hülye? Normális ember ilyenkor behúzza fülét-farkát és eloldalog. Én viszont cikket írok belőle.

Az utóbbi fél évben – különböző katasztrófákból kifolyólag – többször is újra kellett telepítenem gépeket. Oprendszer, szutykok, office. Természetesen már a 2007-es.
És mindannyiszor belefutottam abba, hogy az Outlook2007 nem hajlandó linkként kezelni a linkeket. Ha nem lennék már alapvetően ősz, tuti erre fognék néhány hajszálat.
Ötvenszer átnéztam minden beállítási lehetőséget, körbekérdeztem haverokat, feldobtam a témát levlistákra, széthajtottam a guglit – mindhiába. Mindenhol remekül működött a link a levélben, csak nálam nem. Pedig beállítottam mindenféle formátumot. Mindenféle nyelvi kódolást. Kecskét áldoztam éjfélkor keresztútnál. Nem ért semmit.
Beletörődtem. Ez úgy látszik, a karmámhoz tartozik, együtt kell élnem vele.

Nemrég úgy kaptam vissza a tabletpc-met, hogy elő volt rá telepítve mind az XP, mind az Office. Kisördög bebúj, levél elküld – a link bizony link maradt. A-ha. Ezután szépen elkezdtem személyre hangolni a progit, ahogy szoktam. És időnként küldtem egy levelet.

Nem rabolom tovább az idődet, meglett a bűnös.

Nagyítás

Imhol. Autocorrect, azon belül autoformat.

És ekkor lett volna kedvem headbang-elni az íróasztalon. Ugyanis rájöttem, mi okozta a vakságot. A nagyra nőtt egóm. Ugyanis baromira kényes vagyok arra, hogy egy szoftver azt csinálja, amit elgondolok. Ne, hangsúlyozom, _ne_ próbáljon meg okosabb lenni nálam, ne próbálja meg a fülem állásából kitalálni, hogy tulajdonképpen nem is azt akarom, amit begépeltem, hanem valami egészen mást. Emiatt az az első, hogy minden szoftverben, amelyben van valami hasonló, gondolkodás nélkül kikapcsolok minden autokorrekciót. Mi azt, hogy gondolkodás nélkül? Elolvasás nélkül!
Így történhetett meg az, hogy nem vettem észre: a linkre hasonlító szövegrészből bizony az Outlook2007 autocorrect funkciója csinál ténylegesen linket.
Mindenki másnál – de nálam nem.

A nagy RSS írás

Kicsit távolról kezdem. Ha valakit untat az általános szöveg, addig nyugodtan vonuljon félre és olvasgassa a négyjegyű függvénytáblát.
Tehat RSS. Imádom. A legnagyobb találmány a szeletelt kenyér feltalálása óta. A betüszónak van ugyan feloldása – több is – de véleményem szerint a legelterjedtebb (Really Simple Syndication) is éppencsak fedi a lényeget. De induljunk ki ebből. Igazán Egyszerű Felíratkozás. Háát… a felíratkozás stimmel. De annak, aki nem tudja miről van szó, annak nem kicsit körülményes, mire berendezkedik és valóban egyszerűvé válik számára a tényleges felíratkozás. (Tapasztalataim szerint ez a kör lefedi a magyar netezők többségét. Jól képzett kollégák, akiknek maximálisan otthon kellene lenniük a neten, pl még mindig idegenkednek tőle.)

Mint sejthető, tulajdonképpen az információhoz jutás teljesen új módszeréről van szó.

A hagyományos felhasználó, ha kíváncsi valamire, akkor elmegy a megfelelő weblapra. Ha nem ismer ilyet, akkor bátran használja a Guglit MSN live search-öt, majd esetleg felíratkozik egy hírlevélre.
Nem rossz, de van rajta mit optimalizálni. Eleve a weblapok ma már ritkán statikusak. De félnaponként elmenni egy weblapra, be-benézni négy-öt aloldalra, hogy változott-e valami… macerás. Milyen jó lenne, ha a weblap értesítene minden változásról! És milyen jó lenne a webmesternek, ha mindez automatikusan történne! Nos, ez az RSS – vagy más néven feed. A kíváncsi ember felíratkozik az oldal feed-jére és a feed olvasó programja rendszeresen ránéz az RSS csatornára, majd leszedi a frissítést.

Nos, elhangzott az a szo, amely az egész technológia rákfenéjét jelenti: RSS olvasó program. Igen, külön program kell hozzá. Pontosabban, már nem. Azaz…

Jobb, ha tisztázzuk a lehetőségeinket.

  • Önálló kliens: ez volt a hőskorszak. Sharpreader, RSS Bandit, RssReader, FeedDemon, Omea… hogy csak azokról beszéljek, melyeket hosszabb-rövidebb ideig én is nyúztam.
  • Webes feed aggregator: ez a kategória sem mai gyerek: Bloglines, Newsgator, Netwibes, Google reader…
  • Beépített: Itt ugye minden azon múlik, mibe építik bele. Hűtőgépbe, kvarcórába még nem próbálták meg, legalábbis tudtommal nem. De webes programokba már igen: az újabb böngészők valamilyen formában tartalmaznak rss olvasót is, sőt a Firefox-hoz a beépített mellett felrakhatunk egy egész jó RSS kiterjesztést (Sage) is. Meg még vagy tizet. Másfelől, a levelezőkliensbe épített RSS olvasó sem hülyeség: ekkor az a koncepció, hogy az egyes frissítmények email formában érkeznek meg. Az Outlook2007 már beépítve tartalmaz RSS klienst, a korábbi Outlook verziókhoz az RSS Popper illeszthető.

Most, hogy végigmentünk a lehetőségeinken, látható, hogy ebből az írásból bizony egyértelmű frankókimondás nem lesz. Széles a paletta, sokféleképpen érhetjük el a feed-jeinket; nem mindegy, milyen platformról jövünk, nem mindegy, milyenek a szokásaink, mik a prioritásaink.
Jó hír, hogy ez a sűrű sötét katyvasz valamennyire azért átjárható: ha belemelegedtünk és összegyűjtöttük magunknak az első 10-100 csatornát, majd klienst szeretnénk váltani, az egész hóbelevancot ki tudjuk rakni .opml fájlba: ezt minden olvasó ismeri. (Így lehet megoldani azt is, hogy pl. otthoni gépünkön RSS olvasó programot használjunk, munkahelyünkön levelezőbe ágyazottat, nyaraláskor/esküvőnkön meg webes felületűt – úgy, hogy mindenütt ugyanaz legyen a csatornaválaszték. Ügyes dolog ez az opml – de egy dologra nem képes. Nem tudja átvinni az egyes feed-ekhez tartozó írások olvasottságának értékeit. Azaz ha hétvégén elolvastam 212 bejegyzést, attól még ezek a hétfő reggeli értekezleten sunyiban előszedett mobiltelefonon bizony olvasatlan bejegyzéseknek fognak tűnni.

Igazából erről a témáról rengeteget lehetne írni, tekintve, hogy nagyon sok megoldás létezik különböző kliensek összehangolására: például a Feedburner RSS olvasó fejlesztői szövetkeztek a Newsgator webes RSS olvasóval, így ténylegesen megoldható a szinkronizáció több gép között is, nem beszélve arról, hogy távoli internet kávézóban is megfelelő olvasottsági értékkel jönnek fel a csatornáink. És akkor ott van még a Google műhely, ahol folyamatosan reszelnek mindent, többek között a Google Readert próbálják belekalapálni a Gmail-be…

Szóval tényleg sokmindent lehetne írni, de én önző módon azzal a megoldással fogok foglalkozni, amely – számomra is meglepő módon – kezd elfogadható kompromisszumnak tűnni számomra.
Persze ehhez tudni kell, mik is a prioritásaim:

  1. Hibázás nélkül működjön. (Ciki, mi, hogy ezt így ki kell emelni.)
  2. Tudjak keresni régi írásokban, tudjak archiválni, méghozzá viszonylag egyszerűen.
  3. Legyen lehetőségem aggregált olvasásra – azaz pl. el tudjam olvasni egy oldalon, hogy egy kategórián belül milyen írások jelentek meg a legutóbbi olvasás óta.
  4. Ha egy írást utólag módosítanak, akkor a változás is megérkezzen hozzám, méghozzá úgy, hogy tudjak is róla.
  5. Ne legyen túl fájdalmas a többgépes használat.
  6. Legyen meg benne az offline olvasgatás lehetősége. Külön bónusz, ha az offline cuccot valahogy PDÁ-ra is tudom csalogatni.
  7. Részletesen konfigurálható legyen. Meglehetősen kifinomult olvasási szokásaim vannak, szeretném, ha az olvasó idomulna ezekhez.
  8. Végül ne kelljen hozzá atomerőmű, fusson el egy P4-es gépen, akár úgy is, hogy állandóan a háttérben van.
  9. Kategóriákba szervezhessem a csatornáimat, ha kell, több szinten is. Ne legyen bonyolult az átszervezés.

Nos, nem mondhatom, hogy nem vagyok igényes.
A fenti követelményeken a webes olvasók sajnálatos módon hamar elvéreznek. Egyedül az 5. pontot hozzák maximálisan és a 8. pontot is úgy-ahogy. A többiben… tragédia. Ettől függetlenül használom azért őket, de csak vész-vésztartaléknak: a Newsgator segítségével készül ez a csodaoldal a blogon (csak éppen lusta vagyok aktualizálni), a Netvibes-on meg a legfontosabb blogokat gyűjtöttem össze, arra az esetre, ha éppen távol vagyok mindegyik gépemtől.
De nem ez a kedvenc kategóriám. Évekig nem lehetett eltántorítani az RSS kliensektől. Ha visszaolvasol, láthatod is, hogy mindezeket a feltételeket egyedül az RSS kliensek tudják kielégíteni.
Elég szomorú, hogy nincs közöttük egy sem, amelyik mindegyik pontban legalább egy négyest kaphatna. Ellenben a legtöbbnél vannak olyan pontok, amelyekben simán megbukott a kliens.
Nem akarok itt végigmenni azon, hogy konkrétan melyik termék konkrétan hol bukik meg… a legutóbbi, az Omea, többször szétfagyasztotta a gépeimet, ha a háttérben hagytam, akkor piszkosul zabálta az erőforrásokat, egy idő után pedig elfelejtett frissíteni.
Mivel az Outlook minden gépemen, minden körülmények között fut, elkeseredésemben beröffentettem a beleintegrált RSS olvasót.
Lássuk mit tudsz, Dönci.
Hát, elsőre nem sokat. Konfigurálási lehetőség szinte semmi, a layer megjelenítés tragédia, az email alapú leszedés következtében az írások módosítás utáni újrafrissítése értelemszerűen nem működik… szóval nem voltam oda érte. De egyszer ráértem, belemásztam mélyebben.
És észrevettem, hogy nem is reménytelen a helyzet: a kicsike egész jól hajlítgatható, csak egy kicsit eldugták a beállítási lehetőségeket.

Vessük bele magunkat. Új feed felvétele nem nagy ügy, jobbklatty az RSS feed folderen, és már ott is van az Add New feed – illetve az Import opml.

Nagyítás

Javaslom, a menüpontok jelenléte ne csábítson senkit könnyelmű mozdulatokra. Először próbáljunk meg csak úgy felvenni egy feed-et.
Megtörtént? Oké, mehetünk tovább.
Próbáljuk meg beállítani a feed paramétereit, hiszen ez a legfontosabb teendő ilyenkor: hová kerüljenek az írások, milyen sűrűn frissüljenek… meg ilyenek. Jobbklatty. A fenébe… elromlott az egér. Akárhogy kattintgatok, csak a szokásos foldermenü jön fel.
Nos, a megoldás el van rejtve, egész pontosan a Tools/Account settings/rss feeds alá.

Nagyítás

Nem magyaráznám szénné az ábrát, elég érthető. Nézzük meg, mi van a Change gomb mögött.

Nagyítás

Itt azért vannak finomságok. És sajnos hiányosságok is.
Jó, hogy át lehet írni a feed nevét. (Ne röhögj, nem mindegyik kliens engedi. Bár a legviccesebb ilyen téren az Omea, amelyik minden frissítésnél kegyetlenül visszaírja az eredetit, bármire is írtad át.)
Nyilván lehet változtatni, hogy melyik folderbe érkezzenek az üzenetek. Mivel a cégnél erős postafiókméret-korlátozás van, így én az egész RSS katyvasznak csináltam egy külön pst-t. Igaz, így OWÁ-n keresztül nem látom, de ha távol vagyok, úgysem érdekel mind a 120 feed, a fontosabbak meg kint vannak a Netvibes-on.
Az első seggreülés a Downloads szekció láttán történt. Az még csak hagyján, hogy beállítható, hogy az írásokhoz csatolt anyagok is letöltődjenek. De a következő… azt mondja, hogy akkor is leszedi html formában a cikket, ha egyébként csak egy ízelítőt rakott ki a köcsög webfejlesztő a feedbe. Az utóbbi időkben én sorra hajigáltam ki azokat a csatornákat, ahol nem az egész írás került bele a feed-be… innentől vissza lehet venni őket, ugyanis lehet offline módon is olvasni a teljes írásokat.
Legalul pedig elfogadhatjuk, hogy a feed frissítése a webmester elképzelése szerint történjen-e.

Itt álljunk meg. Mi van, ha mégsem fogadjuk el és szeretnénk mi magunk állítgatni ezt a paramétert?
Nos, semmi probléma, Tools/Options/Mail Setup/SendReceive/All accounts/Edit – Itt látjuk baloldalt az RSS ikont is. Azaz az RSS csatornák frissítése ugyanolyan időközönként történik, mint a leveleink letöltése.
Persze, nem biztos, hogy ez jó is nekünk.
Akkor menjünk egy kicsit visszább, csináljunk egy külön Send/Receive group-ot az RSS feed-eknek. (Nyilván ekkor ki kell kapcsolni a levelezési csoportban a jelenlétüket.)
Ez már nem rossz, de mi van akkor, ha valaki feed-enként akar különböző frissítési időt beállítani? Nos, akkor le kell ülni azzal a – feltehetően erősen zöldfülű – valakivel és elmagyarázni neki, hogy ez hülyeség. Az ember egy idő után úgyis kategorizál és a kategóriákhoz rendel gyakoriságokat. Nálam ez úgy néz ki, hogy csináltam egy félórás frissítésű kategóriát és egy nyolcórásat.

Nagyítás

A csatornák besorolása úgy történik, hogy mindkét csoportba felveszem az RSS letöltést – és azon belül kapcsolgatom ki/be a feed-eket.

Nagyítás

Említettem, hogy van hiányosság is. Nos, nem is kicsi: nem lehet módosítani a feed URL-jét. Ha valahol változtat a webmester, újra fel kell venni a csatornát, majd folder szinten összemásolni a kettőt. (Próbáltam megkeresni, hogy hol tárolja ezeket a cuccokat a program, meg is találtam – de hiába írtam át direktben, valami mechanizmus visszaírta.)

Erről jut eszembe, a másolgatással óvatosan. Ha össze akarunk olvasztani csatornákat, akkor azt hiába játsszuk le folder szinten, az új írások továbbra is a régi folderbe fognak érkezni. Egész addig ez is lesz a helyzet, amíg a feed tulajdonságlapján nem írjuk át az útvonalat.

Hogy miért is kellene összeolvasztani csatornákat? Például hedonista gyönyörök okozása kedvéért.
Nézzük, hol is állunk jelenleg. Van egy csomó csatornánk, mindegyik külön folderben. Egy idő után nyilván kategorizálunk, alfolder kerül alfolderbe, az entrópia csökken. Csakhogy elesünk attól a remek kényelmi szolgáltatástól – melyet az RSS olvasók általában tudnak -, hogy egy kategóriára kattintva feltűnik az összes alátartozó csatornából az összes olvasatlan írás.
Ez bizony baj. Enélkül nem ér egy korhadt hajítófát az egész.
Szerencsére van megoldás – de ehhez meg kell változtatni a szemléletünket.
Felejtsük el azt, hogy egy feed – egy folder. Gyártsuk le a kategóriákat és hajigáljuk bele az összes odatartozó feed-et. Utána pedig a jobboldali panelben vegyük fel az oszlopok közé a blog nevét. Így már tényleg látjuk kategóriánként az olvasatlan írásokat. Ha akarjuk, dátum szerint rendezzük a bejegyzéseket, ha akarjuk blog szerint. (Megjegyzés: egyébként is javasolt az oszlopok között takarítani, az alapértelmezéshez képest eléggé eltérő a normális igény ebben az esetben.)

Alakulunk.
Volt egy másik kényelmi dolog az RSS olvasókban: be lehetett pl. állítani, hogy az olvasott írásokat ne mutassa. Beállítani itt is be lehet, egész konkrétan ráállunk a piszkálni szándékozott folderre, a View/Current view/Customize current view/Filter/More choices alatt ott is vigyorog, hogy ‘only items that are: unread’.
Azért ésszel. Nekem be volt állítva, hogy a Reading Pane alatt 3 másodperc után jelölje olvasottá a levelet. A fenti filter beállítása után úgy fogyott le pár másodperc alatt egy 300 olvasatlan bejegyzést tartalmazó folder nullára, hogy pislogni is alig volt időm. Ugye az egyik automatizmus olvasottá jelölte a leveleket, a filter meg csak az olvasatlanokat mutatta – és amikor olvasottá vált egy bejegyzés, a kurzor automatikusan a következőre ugrott.
Célszerű ekkor úgy beállítani a panel megjelenítését, hogy csak akkor legyen olvasott egy írás, ha elkattintunk róla.

Miután sokadjára szívtuk meg, hogy nem olvastunk végig egy írást, elkattintottunk – és amikor visszamentünk, már nem találtuk meg… el lehet gondolkodni a további finomításon. Különösen azért, mert van egy másik igény is: szeretném, ha a kiemelten fontos írások állandóan láthatóak lennének, függetlenül attól, hogy olvastam-e vagy sem.
A megoldás a kategorizálás környékén lesz. Hozzunk létre egy új kategóriát, mondjuk ‘Important articles’ néven – majd keressük meg, hol lehet összerakni a megfelelő szűrőfeltételt.
Menjünk vissza az előbbi filter panelhez. Gond egy szál se, a legfelső sorban ott van a kategória szerinti szűrés is, rögtön az ‘olvasatlan’ beállítás felett.

Nagyítás

Kattanjunk rá… majd csodálkozzunk. Nem fogunk látni egy bejegyzést sem. A magyarázatot meg fogjuk találni, ha visszamegyünk a szűrő beállításaihoz és kiválasztjuk az SQL fület: ott virít, hogy itt bizony AND kapcsolat van a két feltétel között. A korrigálás egyszerű és gyors: bekattintjuk, hogy közvetlenül szerkesztjük a kritériumot és átírjuk az AND szócskát OR-ra.

Nagyítás

Huh… nem mondanám, hogy egyszerű… de folderenként egyszer kell megcsinálni.
Vagy sem. Ha ugyanis elfelejtettünk egy írást bekategorizálni, később mégis szükségünk lenne rá, akkor nincs más, ki kell kapcsolni a szűrőt. Utána viszont újra le kell gyártani. De egy idő után nem gond, én már 5 másodpercen belül képes vagyok beállítani. (Igen, sajnos a szűrő hatással van a keresésekre is.)

No, beszéljünk még egy kicsit elvi dolgokról. Egyik ilyen, hogy mivel az aktuális levél email formában érkezik, így logikus, hogy ha neadjisten a szerző utólag módosít valamit, azt már nem látjuk.
Így lenne logikus. De nem az. Ugyanis itt nem egy email alapú RSS aggregátorról van szó, hanem egy RSS aggregátorról, mely email formában jeleníti meg az írásokat. Mi következik ebből? Az, hogy beállíthatjuk, hogy a módosított bejegyzéseket újként kezelje és ismét mutassa meg.

Nagyítás

Végül egy nagy szívfájdalom: a beépített html megjelenítő nem tud megbírkózni a rétegekkel. Böngészőből teljesen jól tördeli az oldalt az IE7, de a Reading Pane megbukik rajta.
Hogy érthetőbb legyen:

Nagyítás Nagyítás

A bal oldali a böngésző, a jobb oldali az Outlook. És ez különösen akkor kínos, ha sok ábra lett kiúsztatva jobb szélre.

Nos, ennyi. Immár két hónapja használom ezt a felállást, vannak itt is kényelmetlenségek, mert tökéletes RSS olvasó, az nincs – de eddig jól elvagyunk. Viszonylag kevés feed-et frissítek félóránként, a nagy többség nyolcóránként frissül, illetve programinduláskor. Ilyenkor belassul egy kicsit az Outlook, de a Desktop Search miatt egyébként is lassan indul – szvsz nem zavar.

Kódzavarban

Miután sikeresen feltelepítettem az Office2007-et, egyből nekiugrottam a számomra legfontosabb komponens beállításának: Outlook2007.
Elképzelhető, hogy ebből hitviták lesznek – én ettől függetlenül évek óta ezt használom otthoni levelezésre, függetlenül attól, hogy a lakásban nincs Exchange szerver. Ezzel szemben van PDA – és nagyon kényelmes, hogy a Calendar/Contact/Task/Notes adatokat is tudom vele szinkronizálni. (Sőt, mindezeket – a PDA segítségével – szinkronizálom a munkahelyi gépemmel is, így elmondható, hogy minden számítógépes környezetben szinkronban vannak az önszervezéshez kapcsolódó anyagaim.)
Természetesen minden évben külön PST fájlba archiválok, de az alap PST, amelyben dolgozom, legalább nyolc éve ugyanaz. Ugyanaz a régi – Outlook97 – tipusú PST fájl dübörög az otthoni Outlook alkalmazásaim alatt.

Ezt a fájlt csempésztem a megszokott módon a mostani Outlook2007 alá is. Fel sem vettem, hogy hőbörgött egy sort a unicode támogatással kapcsolatban. Ugyan már, a 2003 is hőbörgött, aztán mégis milyen szépen ment vele minden.

Tulajdonképpen most is ment minden. Láttam a leveleimet, tudtam küldeni és fogadni is… csak valahogy a magyar ékezeteim pottyantak ki valahol a levelekből. Illetve nem is pottyantak ki, mert ismerőseim szerint teljesen jó leveleket küldtem – annak ellenére, hogy ezek a levelek az én kliens programomban úgy néztek ki, mint ha csupa különösen mogorva cseh káromkodásokból állnának. Legalábbis magánhangzó nem nagyon volt bennük.

Ránézésre kikódolási problémának tűnt. Nézzük a View/Encoding menüt. Izé, merre is van…? Hát, elvoltam egy darabig, mire megtaláltam. Annak ellenére mondom ezt, hogy az új menüelérés jobban tetszik – de még szoknom kell. (Hasonlóképpen sikongattam, amikor a levél fejlécét szerettem volna elérni, levélen belülről.) No, mindegy az Encoding alapján Central European kódolásban olvastam volna a leveleket. Harsány ‘a-ha’ felkiáltás mellett átállítottam UTF8-ra – és láss csodát, egyből megjelentek az ékezetes betűk. Oké, ez gyors volt – nyugodtam meg. A levél bezárásakor még megkérdezte, hogy akarom-e menteni a levelet? Persze, akartam. De nem csak ezt, hanem meg is akartam utána nyitni. Ahol minden mentés ellenére megint eltűntek a magyar betűk. Nocsak. Nézzük a kódolást: jólnevelten maradt UTF-8. Aztán mégsem látszódtak a betűk. Hmm… Levél bezár, megnyit, semmi nem változott. Oké, átállítottam valami idétlen egzotikus urdu kódra, majd rögtön utána vissza UTF8-ra. Egyből megjöttek a magyar betűcskéim.
Lementettem, újra megnyitottam – az ékezetes karakterek megint bal fenéken el.

Nem értettem. Most akkor mi van? Ha beállítom megnyitás után az UTF8-at, akkor felismeri a karaktereket. Ha megnyitás előtt állítom be, akkor meg nem. És mi van teliholdkor?

Végül minden misztifikálásra való hajlamom ellenére nekiálltam keresgélni a neten.
Ezt találtam. Habár a szöveg egzakt módon nem tartalmazta, hogy „de nagy marha vagy Joep, miért nem használsz már unicode alapú PST-t a mostani szutyok helyett” – de értek én a virágnyelvből, tudomásul vettem, hogy az Outlook induláskor ellenőrzi, hogy fennállnak-e bizonyos feltételek és ettől függően vagy unicode módban indul vagy sem. Első esetben süt a nap és csicseregnek a madarak, a második esetben meg még a fű sem nő. És mik a feltételek? Vagy Exchange2000 illetve afölötti Exchange szerveren létrehozott postafiók vagy unicode tipusú OST/PST.

Gyors ellenpróbát tettem: új profil, unicode tipusú PST – és gyönyörűen jöttek-mentek a magyar ékezetek, azt sem kellett tudnom, hol van az Encoding menüpont.

Innentől már nem volt messze a megoldás. Kimentem az előszobába, egy kicsit rugdostam a tálalószekrényt, majd nekiugrottam a lapátolásnak. Szószerint. Létre kellett hoznom egy új profilt, benne egy üres adatbázissal. Aztán ebben letükrözni a korábbi folderstruktúrát, folderenként átmozgatni a leveleket. Természetesen minden folder elemen újra kellett állítgatnom minden megjelenítésre vonatkozó opciót. Nem volt kis munka, de hol volt még a vége. Pl. le kellett gyártanom újra az összes szabályt. Át kellett csalogatnom a Calendar/Task/Contact/Notes adatokat is. Szerencsére emlékeztem mICK jótanácsára, így viszonylag simán átjött az összes appointment is. Persze mindegyik tipusú adatcsoportnál újra definiálni kellett a megszokott szűrőfeltételeket.
Végül az egész művelet megkoronázásaként újra fel kellett építenem az Activesync szinkronizációt – ugye ez alól nemes egyszerűséggel ki lett rúgva a sámli. A többezer item szinkronizációja eltartott pár óráig. Aztán mivel ezek csupa új elemként jöttek be, így ugyanezt a teljes szinkronizációs kört végig kellett játszanom a munkahelyi gépemmel is. Sőt. Mivel a munkahelyi gépem még a telefonommal is össze van szinkronizálva, így ott is le kellett nyomni egy teljes kört. Bízva abban, hogy közben senki nem csörög rám.
De végül sikerült. Mindenki összhangban van mindenkivel.
És vannak magyar betűim az Outlook2007-ben.

vcf bulk export

Egy valami kis kézi eszköz egyszeri szinkronizációjához szükségem volt arra hogy az Outlook névjegyalbumból kipakoljam a bejegyzéseket vcf formátumba. Ahogy elnéztem ezt a drága Outlook csak egyesével hajlandó előadni. Gyorsan összedobtam egy scriptet rá. Azt, ha keletkezett név nem felel meg a fájlnév konvencióknak nem kezeli le, de egyenlőre nekem ennyi elég volt. Minden egyéb magyarázat helyett itt a kód:

var olFolderContacts = 10; 
var olContact = 40; 
var olVCard = 6; 
var Application; 
var Namespace; 
var ContactsFolder; 
var TargetFolder; 
Application = new ActiveXObject("Outlook.Application"); 
Namespace = Application.GetNamespace("MAPI"); 
ContactsFolder = Namespace.GetDefaultFolder(olFolderContacts); 
TargetFolder = "c:\\work\\vcf\\"; 
e = new Enumerator(ContactsFolder.Items); 
for(;!e.atEnd();e.moveNext()) 
{ 
    Item = e.item(); 
    if(Item.Class == olContact) 
    { 
        Item.SaveAs(TargetFolder + Item.FileAs + ".vcf",olVCard); 
    } 
}