Einstein Analytics Camp Fire

When I’ve been to London last time, for the CloudCraze training, I found time during evenings and did my Einstein Analytics Advanced Acreditation. And thanks to this „investment“ I had privilige to spend two days in the Salesforce Tower in London last week to attend the Einstein Analytics Camp Fire. These were two super intensive days, as Ziad packed into them the content of maybe 5 days of regular training. Super intensive and super informative, I don’t remember when I got such overwhelming amount of information in such short time before. A lot of tips included on top of that.

How to drive adoption – CASES

When you want to drive adoption, it is pretty easy, just follow some rules. Support collaboration on dashboards (teach users how to annotate and share), make them actionable (don’t forget to enable actions), self-service (yeah, this is about training as well), embedded it in Salesforce/Community (I can hear your screaming – extra licences) and smart design (which is super important as I remember from Keboola Hackathon). If you don’t have enought time to read this article find a minute to watch this video.

I asked how much time they think it took and was surprised to hear that it is just a few hours, day a max. And it looks super cool, I would love to use it every time. I mean several times a day.

Data layer

Enable replication (in Salesforce setup) but don’t forget, that incremental replication doesn’t delete data. Don’t create one huge data set but rather more smaller and use as many fields as possible from parent objects.

Use recipes heavily, you can use bucketing for setting order of values (if you have just a few of them, doesn’t make sense for hundreds), use it for combining more data sets, for dates to avoid static steps and bucketing (wonder what I meant with this note, but it was important).

Data flow can do all the heavy lifting, so you don’t have to do much with the data later on. ComputeExpressions and computeRelatives (and all the other functions) also means you can do a lot of stuff on your own and don’t have to ask Salesforce admin to update/change the data structure. And you can also use it for deduplication or snapshotting 🙂

In data flow put filter as separate node, not on sfdcDigest node as it will affect all sfdcDigest of the same object. Don’t let everyone edit data flow, just a small group of people let do it, who know what they do.

You can always „connect“ your datasets via connections between widgets, don’t need to combine them all into one big matrix.

You should know about Dataset Utils as it can save you some time.

And when I saw the data flow editor I wished Salesforce dev teams cooperate more closely or maybe create some frameworks internally. Journey builder, Engagement Studio, Lightning Flow and this all do „about the same“ and when I saw the plans for Lightning Flow I’ve been really excited. The ability to chat on every elements, group them together, so they don’t so much space on screen and much more would be awesome to have it those other editors as well.

Visual

  • maximize the number of columns, so they are more narrow and you can insert small images;
  • hide left axis title when not needed;
  • in lens you can add measure * and rename it to the name of the object, so it shows Count of ObjectName instead of Count of Rows;
  • don’t forget to name your steps, so you know which is which;
  • do most of the customization on widgets not steps (reference lines for example);
  • when you edit column in lenses it has some super features such as ranking, running total, sliding window and other functions;
  • you can use marker for notes, it looks great and it is more visible than annotations;
  • create hidden columns for sorting;
  • maps are super cool, use them and create a custom one;
  • use pages, copy elements between them and create links, it adds a lot of dynamics and beauty to your dashboards.

Install apps to learn new things

Einstein Analytics Sales Analytics template and Einstein Analytics Learning Adventure app and Einstein Analytics Learning Map (primarily for clients) are really great to show you tips and tricks you can use in your own dashboards (and you probably heard about something similar for Salesforce itself – DreamHouse App or Northern Trail Outfitters).

Some cool things

The conversational analytics (need to be enabled in Salesforce setup) just starts but can save time as you don’t really need to think to much how to do it but only how you want to formulate your question.

Use compare tables so you can quickly update and add columns, don’t be afraid to switch to SAQL, tweak the code and switch back. Also the SAQL editor in lenses is now-a-days the only place how to check whether you don’t have any type in your code. And don’t forget you can query SOQL directly from Salesforce, if you really need.

Binding is awesome for making the dashboard really dynamic – show me only clients who do more than 80 % of average client, all those bindings with static steps to change the dimensions of graphs or even their type or color. It is just beautiful and can save tons of different graphs.

Multivalue picklist work well here – in Salesforce it is evil, good to know it isn’t the case here. And you can also augment the records, so all the childs are flatten into the parent (kind of).

Security is a bit of tricky as it can replicate the Salesforce security just up to 2000 records for a user and works only on some objects – that was my biggest surprise. You have to use Security Predicates which aren’t that flexible and powerful and it is also lot of work.

EA Encryption requires Shield and when you have it your data are encrypted in rest and transit.

When will be some other Camp Fire?

All in all, these were greatly invested two days. Would be awesome to attend some other camp fire – I can think about CPQ or Field Service 🙂

 

Napiš komentář, díky!

O Salesforce s Pavlem Popem

V sérii „O Salesforce s …“ jsem si dal za cíl během celého roku vyzpovídat alespoň 52 lidí, kteří se v České a Slovenské republice pohybují okolo Salesforce. Jedno, zda jde o lidi od partnerů, zákazníka nebo dokonce někdo přímo ze Salesforce. Máte tip na někoho, koho bych měl určitě vyzpovídat? Sem s ním! děkuji

Další v sérii mých rozhovorů s lidmi ze Salesforce komunity je Pavel Pop ze společnosti blue-infinity.

Jak ses k Salesforce dostal a jaká je tvoje role?

Dostal jsem se k němu přibližně tři roky zpět v AVG, kde jsem pracoval jako Development Manager pro Salesforce. Momentálně pracuji pro blue-infinity jako Senior Developer a Technical Architect pro Salesforce projekty. Jinak obecně jsem před SFDC nějaký ten rok pracoval jako backend .NET developer.

Jak se vzděláváš, které zdroje doporučíš?

Co jsem měl možnost bavit se s lidmi, případně číst tady na blogu, pro všechny je jasnou volbou Trailhead. Musím ale říct, že byť je to udělané opravdu pěkně, není to nic pro mě. Já osobně preferuji učení se na reálných problémech a tak si v rámci sebevzdělávání radši večer “střihnu přesčas” a snažím se vyřešit problém některého z našich zákazníků. Přece jen, realita bývá od tutoriálů a hello world aplikací většinou nahony vzdálená 🙂

Jako zdroj doporučím http://sfdcmonkey.com. Je tam spousta pěkných věcí, které lze použít jako výchozí bod pro řešení problému.

Jak se díváš na certifikační zkoušky, máš pocit, že je důležité je absolvovat nebo žádný test praxi nenahradí?

Obecně ano, certifikace smysl mají, praxe pro mě ale má mnohem větší váhu. Co je pro mě nejdůležitější je, řekněme “postoj k řešení problému”. Rád pracuji s lidmi, kteří hledají způsoby jak něco udělat, né důvody proč to nejde,

Ale zpět k certifikacím, jaký má podle tebe smysl certifikace jejíž dump lze najít na netu …

Oddělil bys tvrdě administrátory od vývojářů nebo je fajn, že se to prolíná? A prolíná?

Prolíná a myslím že je to tak správně. Posouvá to obě tyto role na úplně jiný level a v konzultačním světě je to nutnost.

Admin, který dokáže číst kód, napsat jednoduchý trigger? Já jsem přesvědčen, že to je ideální.  Developer, který chápe jak platforma funguje a jaké jsou její možnosti? Za mě nutnost.

Používáš aplikace třetích stran? Která je ta nejoblíbenější?

Jednoznačně Salesforce inspector (chrome plugin). Nechápu, jak jsem bez něj dříve mohl žít.

Jedna funkce, kterou máš nejraději?

To jak je defaultně propracovaný sharing model, a to že se dá poměrně jednoduše obohatit v případě, že ti z jakéhokoli důvodu nevyhovuje. Měl jsem tu čest psát sharing model v .NET “ručně” a musím říct že to není úplně triviální záležitost :-).

Kdyby sis mohl přát jednu věc, kterou by Salesforce mohl od zítra nově dělat, co by to bylo?

Jednu? Pak asi obohatit Apex o rozumný způsob práce s kolekcemi.

Co bylo/je na zavádění Salesforce nejtěžší?

Sladit procesy zákazníka s fungováním Salesforce a najít hranici mezi standardní funkcionalitou a customizací platformy.

Lightning – co tě přitahuje/odrazuje? Doporučil bys zákazníkům přechod?

Z pohledu zákazníka je neoddiskutovatelným benefitem vizuální stránka, classic už toho v dnešní době zkrátka moc nabídnout nemůže. U nově budovaných instancí už bych o klasiku ani neuvažoval.

Problém je, že Lightning obecně nepokrývá funkce které jsou v classicu a to považuji za neomluvitelné. Migrace se tak může v mnoha případech takřka nerealizovatelnou, protože to, že některé funkce nejsou v Lightningu k dispozici se prostě zákazníkům těžko vysvětlují.

Jak drží zákazníci krok s rychlým rozvojem funkcionality Salesforce, zavádí nové funkce tak jak přicházejí nebo je nové funkcionality nezajímají?

Zákazník nechce moc experimentovat a každý půlrok platit za nové hračky – což plně chápu. Chce hlavně funkční a stabilní prostředí a to dostane tak, že se do instance nesahá pokud to není nutné. Nová funkcionalita tak většinou přichází ruku v ruce s jeho potřebou o zapracování nových funkčních požadavků.

Ta Salesforce nebo ten Salesforce?

Ten. Dokud jsem poprvé neviděl tenhle blog, ani mě nenapadlo že by to mohlo být jinak.

Napiš komentář, díky!

How to refresh record details in Lightning when you change them in APEX

The Lightning is awesome and beauty, the problem I faced was simple – I created a Lightning Component, which called @Future method, which update some data in records. How can I update the screen after that, as it is all asynchronous?

The solution

After all, the solution is easy.

And the „all“ is the community, specificaly Andrew Fawcett in this case, who created this awesome component.

The second ingredient in this solution are the „still new“ platform events, which when I saw for the first time, I saved as something great for integration. But they are way bigger, they can replace triggers – as you can create and consume them in Flow and Process Builder – and they can pass messages around.

At the end the solution is really simple:

  • install Andrew’s component, tweak it if you want it to listen to just specific messages in events and fire the force:refreshView event,
  • drag it onto your Lightning page,
  • update your APEX code, so it creates the event.

Done and solved. It should be reliable as Platform Events are reliable, but who knows, from what I have seen it is a bit tricky.

You use Flow?

Maybe you use Flow to do your stuff. Luckily there is the „unofficial“ component for Flow, which does the same. In the Spring ’18 release it needs you to be part of the Local Flow Actions, from Summer ’18 it should be generally available. And it requires you to use the Screen flow 🙁 so no process builder starting the flow.

Napiš komentář, díky!

O Salesforce s Pavlem Řezníčkem

V sérii „O Salesforce s …“ jsem si dal za cíl během celého roku vyzpovídat alespoň 52 lidí, kteří se v České a Slovenské republice pohybují okolo Salesforce. Jedno, zda jde o lidi od partnerů, zákazníka nebo dokonce někdo přímo ze Salesforce. Máte tip na někoho, koho bych měl určitě vyzpovídat? Sem s ním! děkuji

Další v sérii mých rozhovorů s lidmi ze Salesforce komunity je Pavel Řezníček ze společnosti blue-infinity.

Jak ses k Salesforce dostal a jaká je tvoje role?

K Salesforce jsem se dostal v předchozím zaměstnání (AVG), kde ho již měli nasazený a já jako projekťák jsem pak vedl projekty dalšího rozvoje salesforce – např. nasazení Community Cloudu. Moje role je Projektový Manažer a tak nejsem s platformou v denním styku, ale řídím tým(y), které se o nasazení, konfiguraci a adopci u zákazníka přímo starají.

Jak se vzděláváš, které zdroje doporučíš?

Primárně trailheady – a ty mě fakt baví. Pak taky hodně diskuse s kolegy a výměna zkušeností a občas Success community.

Jak se díváš na certifikační zkoušky, máš pocit, že je důležité je absolvovat nebo žádný test praxi nenahradí?

Začnu od konce.. Praxi ničím nenahradíš – a fakt nemám rád, když má někdo 3 certifikace a přitom v dané oblasti se pohybuje třeba teprve 1 rok… Na druhou stranu zastávám názor, že certifikační zkoušky jsou důležité, protože prostě ukazují, že se o danou oblast zajímáš, vyznáš se v ní a dáváš tím zákazníkovi najevo, že dané téma umíš zvládnout jako profík.

Oddělil bys tvrdě administrátory od vývojářů nebo je fajn, že se to prolíná? A prolíná?

Těžká otázka, nejsem ani admin ani vývojář. Přicházím do styku s oběma stranami řekl bych, že se prolínají a je to dobře. Ale určitě by se neměly ty role úplně překrývat.

Kdyby sis mohl přát jednu věc, kterou by Salesforce mohl od zítra nově dělat, co by to bylo?

Aby Lightning uměl všechny dobré věci, které šly v classicu. Ne že bych tím trpěl já osobně. Ale vím, že kvůli spoustě „drobností“ je potřeba přepínat 🙁

Co bylo/je na zavádění Salesforce nejtěžší?

Najít správnou rovnováhu mezi business zadavatelem (většinou CIO/CTO + management tým zákazníka) a reálnými uživateli, kteří budou mít salesforce jako denní chleba (obchodníci, customer care, atd). Požadavky těchto stran (ačkoliv jsou obě u zákazníka) bývají odlišné, protože na to mají jiný úhel pohledu.

Lightning – co tě přitahuje/odrazuje? Doporučil bys zákazníkům přechod? díky moc

V jednoduchosti je krása a prostě lightning je na první pohled přehledný a uživatelsky přívětivý – a to je to co zákazník potřebuje.

Jak drží zákazníci krok s rychlým rozvojem funkcionality Salesforce, zavádí nové funkce tak jak přicházejí nebo je nové funkcionality nezajímají?

Nové funkce je zajímají, ale většinou nemají odvahu na to být pionýři nových funkcí, chtějí znát zkušenost odjinud – jak se s tím kdo popral, co z toho vytěžil atd.

Ta Salesforce nebo ten Salesforce?

TEN Salesforce 🙂

Napiš komentář, díky!

O Salesforce s Pavlem Halasem

V sérii „O Salesforce s …“ jsem si dal za cíl během celého roku vyzpovídat alespoň 52 lidí, kteří se v České a Slovenské republice pohybují okolo Salesforce. Jedno, zda jde o lidi od partnerů, zákazníka nebo dokonce někdo přímo ze Salesforce. Máte tip na někoho, koho bych měl určitě vyzpovídat? Sem s ním! děkuji

Další v sérii mých rozhovorů s lidmi ze Salesforce komunity je Pavel Halas, technický člověk s mnohaletou praxí ve vývoji software od pozice vývojáře, architekta, až po vedoucí pozice. V minulosti pracoval na vývoji informačních systémů a finančních aplikací pro banky a nadnárodní firmy.

Jak ses k Salesforce dostal a jaká je tvoje role?

Jako slepý k houslím. Byl jsem osloven, jestli bych nechtěl pomoci rozjet novou kancelář Bluewolfu s tím, že se jedná o konzultační firmu implementující Salesforce. Přiznám se, že ani jedno jméno mi nic neříkalo, ale Google mi prozradil, že Salesforce je velice úspěšná technologie a že Bluewolf je s ní úzce spojený. V tu chvíli mi došlo, že nabídka slibuje velký potenciál.

Tehdy jsem na ni kývl a stal se vedoucím vývojového oddělení firmy Bluewolf, an IBM Company v Praze. Zároveň jsem u nás zodpovědný za evropskou strategii vývoje.

Jak se vzděláváš, které zdroje doporučíš?

Jako číslo jedna bych samozřejmě uvedl Trailheads, i když předpokládám, že to každý zná. Dále bych doporučil sledovat videa, což je nenásilný způsob, jak získat přehled o novinkách a různých aspektech existujících řešení. V Bluewolfu pořádáme přednášky u nás v kanceláři, k tomu máme vlastní knihovnu videí.

Jak se díváš na certifikační zkoušky, máš pocit, že je důležité je absolvovat nebo žádný test praxi nenahradí?

Certifikace v mých očích nemají takový význam, tedy alespoň ty základní. Bojím se, že lidé se je učí jako autoškolu, ale vlastně tomu vůbec nerozumí. To se mi potvrdilo mnohokrát.

Pokud se ale jedná třeba o vyšší certifikace, jako například architektonické, vím, že vyžadují patřičné úsilí a reflektují znalosti těch, kteří je mají.

Oddělil bys tvrdě administrátory od vývojářů nebo je fajn, že se to prolíná? A prolíná?

Do jisté míry je prolínání pozitivní, ale pro komplikovanější věci je třeba mít specializaci.

U nás v týmu máme konzultanty, kteří jsou technicky vyspělejší a jsou schopni číst kód, ale při vší úctě, vývoj software je samostatná disciplína, kde je třeba více, než jen být schopen napsat jednoduchý trigger.

Je mnoho aspektů, které musí vývojář znát, od složitosti algoritmů, návrhových vzorů, bezpečnosti, testování atd.

Na druhou stranu musí vývojáři rozumět konfiguraci, minimálně aby byli schopni posoudit, zda se daná funkcionalita dá nakonfigurovat nebo je třeba ji naprogramovat.

Pro komplexní konfiguraci je ale lepší využít znalosti a schopnosti administrátorů, kteří dokáží nakonfigurovat Salesforce podle představ klienta.

Používáš aplikace třetích stran? Která je ta nejoblíbenější?

Neřekl bych, že nějak moc, ale samozřejmě sáhnu pro Workbench nebo Postman, když je třeba. Mám sice licenci na Illuminated Cloud, ale s kódem už se aktivně moc nesetkám.

Nejvíce používám profily a správu hesel v Chrome, kdy mohu přistupovat k pracovnímu profilu se všemi Salesforce hesly, i když pracuji z domova na soukromém počítači. Zmiňuji to, protože to příliš lidí nezná, resp. používají speciální rozšíření, která ovšem uchovávají hesla pouze lokálně.

Jedna funkce, kterou máš nejraději?

Nemám jednu funkci, kterou bych zmínil. Oceňuji přínos celé platformy pro naše zákazníky a byl jsem s ní ochoten spojit svou kariéru :).

Kdyby sis mohl přát jednu věc, kterou by Salesforce mohl od zítra nově dělat, co by to bylo?

Nenapadá mě nic zásadního. Z pohledu vývojáře si člověk říká: Kéž by fungovalo debugování jako v Javě a kéž by za to člověk nemusel platit. Ale chápu, že to obecně není asi nejžádanější funkcionalia.

Co bylo/je na zavádění Salesforce nejtěžší?

Každý klient má specifické požadavky a specifické prostředí, do kterého musíme Salesforce zapojit, tudíš má každý projekt své úskalí. Asi bych ale neřekl, že je něco vysloveně těžkého, protože vesměs existují postupy, jak se vyrovnat s konkrétní situací.

Samozřejmě, že člověk často slyší klišé, že nemohou uchovávat data v cloudu, ale i to se pomalu stává minulostí.

Jak drží zákazníci krok s rychlým rozvojem funkcionality Salesforce, zavádí nové funkce tak jak přicházejí nebo je nové funkcionality nezajímají?

Jsou zákazníci, kteří sledují přednášky na Dreamforce a ptají se na nejnovější funkcionalitu, ale většina je spokojena se systémem, který jim naimplementujeme k jejich obrazu. Je pak na nás, abychom jim představili novou funkcionalitu a ukázali, jak jim může pomoci k dosažení jejich obchodních cílů.

Lightning – co tě přitahuje/odrazuje? Doporučil bys zákazníkům přechod?

Lightning je osvěžující prostředí 21. století, které se soustřeďuje na uživatelskou přívětivost, takže jej můžeme zákazníkům s klidným srdcem doporučit.

Vývoj nezastavíš, takže je to spíše otázka kdy přejít, zejména s ohledem na množství a komplexitu customizací. Samozřejmě, že jsou tam stále hluchá místa jako rychlé akce v rámci souvisejících objektů, ale obecně už je takových věcí málo.

Z technického pohledu používá Lightning čistou architekturu s oddělenými částmi pro vizuální stránku a logiku, která je mně osobně bližší než třeba React, kde se vzhled a logika prolíná.

Ta Salesforce nebo ten Salesforce?

Ten Salesforce. Nikdy jsem nad tím nepřemýšlel — takhle mi to bylo představeno, tak to tak používám.

Napiš komentář, díky!