Microsoft Flow, az IFTTT trónfosztója

Címkék: Microsoft Flow, Automatizálás

Microsoft Flow, az IFTTT trónfosztója

Manapság hatalmas mennyiségű digitális információ vesz minket körül. Szinte már lehetetlen manuálisan kiválogatni a számunkra fontos dolgokat belőle illetve menedzselni a napi teendőinket a világhálón. Mennyivel egyszerűbb lenne, ha automatizálhatnánk ezeket a folyamatokat, hogy csak a valóban fontos dolgokkal kelljen foglalkoznunk, nemde? Szerencsére van megoldás, nézzük is meg, hogy milyen lehetőségeink vannak!

Eddig nem is hallottam az IFTTT-ről, valahogy kimaradt az életemből. Gondoltam, hogy létezik ilyen, ahol össze tudok kötni különböző szolgáltatásokat/weboldalakat, de nem éreztem, hogy szükségem lenne rá, azaz nem gondolkodtam el rajta, hogy hogyan tudnám megkönnyíteni az életemet.

Az IFTTT-ben ún. recepteket hozhatunk létre, amelyekben két alkalmazást összekapcsolhatunk. Rengeteg alkalmazás, azaz csatorna közül választhatunk, pl. ha az Android készülékünk akkumulátora 10% alatt van, akkor kikapcsolja a Wifi-t vagy küld egy értesítést, egy Google Naptár esemény előtt ír egy üzenetet Slackre, vagy más IM csatornára, stb. Ezeken kívül használhatjuk a Tesco, az időjárás, a nyomtatónk, a különböző okosotthon kütyük stb. szolgáltatásait is. Vagy akár specifikus időközönkét futtathatunk recepteket. Jelenleg 300+ ilyen csatorna közül választhatunk, és mindegyikhez több különböző trigger ill. action tartozik. Tehát, ha történik egy esemény, pl. GitHubon létrehoz valaki egy új issue-t, repository-t vagy pull requestet, akkor aktiválódik egy trigger. Ennek hatására végbemegy egy művelet, azaz action, pl. egy releváns levelezőlistára küld egy e-mailt.

Látható, hogy annak, aki okosan használja, nagyban megkönnyítheti mindennapjait. Az egyetlen dolog, ami számomra nem túl kényelmes az IFTTT-ben, hogy a receptekben egy triggerhez egy actiont tudunk kapcsolni. Persze létrehozhatunk több receptet ugyanazzal a triggerrel, de különböző műveletekkel, viszont ez redundanciát okoz. Tehát, ha változtatni szeretnénk egy triggeren, amelyet több receptben is használunk, akkor ezt mindenhol egyenként kell megtennünk.

Itt jön képbe a Flow, a Microsoft hasonló szolgáltatása. A lényege ugyanaz, műveleteket tudunk automatizálni, viszont sokkal komplexebb folyamatokat hozhatunk létre vele, mivel itt nincs lekorlátozva, hogy egy receptben, azaz itt flow-ban (folyamban) hány szolgáltatást használhatunk. Egyszerű példaként tegyük fel, hogy a blogunk RSS csatornájára állítottunk be egy flow-t. Amikor egy új blog posztot teszünk közzé, az RSS-be bekerül egy új elem, ennek hatására kiposztoljuk a Facebook és Twitter oldalunkra, levelet küldünk a levelezőlistánkra, és akár egy SMS-t saját magunknak, hogy ezek megtörténtek. És ehhez egyetlen folyamot kell létrehoznunk, nem négy receptet, ugyanazzal a triggerrel.

signin_thumb1

Nézzük meg a működését a gyakorlatban! Először is jelentkezzünk be a flow.microsoft.com oldalon iskolai vagy munkahelyi e-mail címünkkel. Ne feledjétek, Magyarországon minden általános- és középiskolásnak, illetve egyetemistának ingyenesen jár egy iskolai Office 365 előfizetés, amelyet tudtok használni a Flow-hoz.

myflows_thumb5

A My flows menüpont alatt a Browse templates gombra kattintva, rengeteg, már előre elkészített folyam közül választhatunk, vagy akár ötleteket meríthetünk sajátunkhoz.

services_thumb2

Amennyiben nem egy sablont szeretnénk használni, kattintsunk a „Create from blank” gombra, és itt szabadra engedhetjük fantáziánkat. Sajnos, ezt gátolni fogja az, hogy még csak 34 szolgáltatás közül tudunk választani, de mint az IFTTT esetében, ez itt is folyamatosan bővül.

add_action_thumb2

Most egy olyan folyamot fogunk létrehozni, amely egy meghatározott hashtaggel ellátott Tweet megjelenése esetén azt lefordítja magyarra, majd közzéteszi a lefordított szöveget. Mint látható a Twitteren kívül rengeteg esemény közül választhatunk, itt nincs is felsorolva minden, érdemes rákeresni arra, amit szeretnénk.

twitter-signin_thumb2

A legtöbb szolgáltatásba be kell jelentkeznünk, ahhoz, hogy használhassuk. Jelentkezzünk be Twitter fiókunkba!

twitter-action_thumb4

Ha megjelenik a #MicrosoftFlow hashtag, akkor történjen valami.

action-condition_thumb3

A „+” jelre kattintva, látható, hogy két lehetőségünk van. Hozzáadhatunk a folyamhoz egy műveletet, amelyben felhasználjuk az előző művelet eredményét, vagy létrehozhatunk egy feltételt. Pl. ha a #MicrosoftFlow-t tartalmazó tweetben szerepel a „Cool” szó, akkor történjen valami, különben semmi vagy valami más történjen. Tehát, ez a programozók számára ismerős „if” feltétel. IFTTT-ben ilyen feltételeket úgy tudunk készíteni, hogy létrehozunk két receptet, az egyikben a „#MicrosoftFlow” and „Cool” kulcsszavakat adjuk meg a Twitter kereséshez, a másikhoz pedig csak a „#MicrosoftFlow”-t. Egy feltételnél ez még vállalható, de komplexebb folyamok kialakítására ez nem alkalmas, mivel karbantarthatatlan lesz.

mstranslate_thumb3

A példa kedvéért a fordítás elé beillesztettem még egy nyelvfelismerést is. A Microsoft Translator a fordítás előtt impliciten megpróbálná felismerni a nyelvet, de itt most azt szeretném szemléltetni, hogy egy-egy művelet az összes előtte lévő művelet eredményéhez hozzáfér. Ennek és a feltételeknek köszönhetően szinte bármilyen folyamot létrehozhatunk, tényleg csak a képzeletünk és a rendelkezésre álló szolgáltatások száma szabhat határokat. Ráadásul a feltétel után egy harmadik ágon is tovább tudunk menni, amelyik mindenképp végrehajtódik a feltételtől függetlenül, de persze itt nem érjük el a feltételes részben kapott eredményeket, csak az az előttieket.

condition_thumb3

Ahhoz, hogy magyar szöveget ne is próbáljunk meg lefordítani, beillesztettem egy feltételt a fordítás elé, amely megnézi, hogy az eredeti tweet nyelvi kódja megegyezik-e „hu”-val.

Ilyenkor előjön egy jelenlegi negatívum, hogy nem lehet két esemény közé újabbat beszúrni. Ahhoz, hogy ezt elérjük, ki kell törölni minden a beszúrás utáni eseményt, elkészíteni, amit szerettünk volna, majd újra létrehozni, amiket kitöröltünk. Ez eléggé idegesítő tud lenni, ha mondjuk egy feltételt elfelejtettünk egy pontban létrehozni, de már sok újabb eseményt létrehoztunk azóta.

Ne lepődjetek meg, ha egy műveletet nem tudtok két művelet közül kitörölni, ez azért van, mert a törölni kívánt művelet eredményét használja egy másik művelet. Tehát először ezeket a függőségeket kell eltávolítani.

run_thumb3

Ha elkészültünk az első Flow-val, jöhet is a teszt. Ehhez még csak el sem kell mentenünk a folyamunkat, már azelőtt ki tudjuk próbálni. Posztoljunk egyet Twitteren a #MicrosoftFlow hastaggel, és máris valós időben láthatjuk, hogy hogyan fut a folyamunk.

twitter-posts_thumb3

Amint látható fél perc telt el, és már létre is jött az új tweet. Persze a Microsoft Translator nem tökéletesen fordítja az angolt magyarra, de valljuk be, a magyarral feladtuk neki a leckét.

statistics_thumb3

Megtekinthetjük a folyamunk statisztikáit, hogy milyen eredménnyel, mikor és mennyi idő alatt futott le. Azért van két Succeeded lefutás egymás után, mert másodszorra a magyarra fordított tweet indította el, de látható, hogy ez 0 másodperc alatt futott le, mert a feltételnél megállt, mivel magyar volt a tweet szövege.

detailed-statistics_thumb4

Megnézhetjük a futások részletes statisztikáit is, tehát egy-egy művelet futási idejét, milyen bementet kapott, mik voltak a kimenetek vagy az esetleges hibaüzenetek. Ezzel ellentétben IFTTT-n csak a logot tudjuk megnézni, hogy mikor futott le egy-egy receptünk, vagy mikor módosítottuk, kapcsoltuk ki stb.

Egy nagyon nagy erőssége a Microsoft Flow-nak, hogy saját API-khoz is létrehozhatunk kapcsolatokat, és ezeket felhasználhatjuk folyamainkban. Erről részletesen az alábbi angol nyelvű videóban hallhatunk:

Összegezve a Microsoft Flow egy nagyon jó szolgáltatás, komplex feladatokra is nagyon jól használható. Jelenleg a legnagyobb hátránya, hogy csak 34 szolgáltatás érhető el, az IFTTT 300+ szolgáltatásához képest, de mivel alig egy hónapja kiadott szoftverről beszélünk, nem is várhatjuk el, hogy egyből mindenben jobb legyen a riválisánál.

Nincsenek hozzászólások

Hozzászólok