Azure DevOps and Salesforce DX

This post is mainly to save my findings on a project, so I don’t have to start from scratch next time I’ll configure CD.

When defining the pipeline on Azure DevOps start from scratch and use the following:

Pull Request validation

The above definition is for validation only when pull request is created (section PR, will trigger whenever new PR to master is created or updated) or target branch is updated (section trigger, any feature branch). It will install sfdx (line 27), authenticate org based on token stored in file (line 30) and deploy the code from the whole repo for validation only (line 33).

Daily deploy

This part is for daily push to the org as we didn’t want to update the code base during the day when testers are testing. On daily basis (2am, line 7) we take the master and release branch and deploy to two different orgs.

How to get the access token

The sfdxqaauth.txt contains the access token which you can get with the following command:

sfdx force:org:display --targetusername <username> 

Take the Access Token value and combine it into following:

force://PlatformCLI::AccessToken@yourdomain.my.salesforce.com
Napiš komentář, díky!

Nakupujeme bez obalu, co ty?

Čas od času je super se ohlédnout, zavzpomínat a pak se zase podívat do budoucnosti. Já jsem si to tuhle uvědomil u našeho týdenního nákupu, kterým strávíme tak půl hodiny týdně včetně cesty.

Skoro deset let zpátky jsme nakupovali v Albertu, stavili jsme se tam skoro každý druhý den, dívali se na nejlevnější mléko a ideálně ho ještě kupovali až ve slevě.

Pak pro nás přišla éra bedýnek, znásobená mým okamžikem Whole30 diety. Ceny, které jsme byli ochotni akceptovat, šly nahoru. Měli jsme pocit čerstvosti a podpory konkrétnějších zemědělců. Objednávali jsme tuším na týdenní bázi, primárně zeleninu, postupně Svět bedýnek přidával i další věci, tak jsme je někdy přihodili (třeba ryby). Časem jsme začali objednávat primárně v zimě a přes léto nějak vyžili z toho, co vyrostlo na zahradě či jsme koupili na trhu na Spořilově.

Někdy v té době se objevil ten boom bezobalových obchodů, párkrát jsme je vyzkoušeli, ale nikdy nás nechytly. Buď byly daleko, na špatných místech, nelíbil se nám sortiment či cokoliv dalšího.

Ale pak se něco stalo. Otevřeli bezobalový obchod kousek od nás (5 minut autem, 7 minut autobusem, pěšky o něco déle). Sortiment se postupně rozšiřoval a pořád rozšiřuje a my si zvykli zajet jednou týdně na nákup. Dnes je to úplná samozřejmost, bereme s sebou tubusy na vločky či čokoládové polštářky, kelímky od velkých jogurtů na mouky, pytlíky na rýži či zeleninu. A v tom to i skladujeme, takže nemusíme nic přebalovat, mouka se nám nesype z papírových pytlíků všude, ale je pěkně zavřená pod víčkem.

K tomu přibyly sýry, párky, šunka či slanina, nastává sezóna čerstvého burčáku. Bereme čerstvá mléka a jogurty za cenu, kterou jsme dřív považovali za nesmyslnou a ještě jsme hrozně spokojení, že se mléko během pár dní zkazí a není i po měsíci jako čerstvě rozbalené.

Překvapivě tam nakoupíme všechno co potřebujeme, zeleninu přidáme ze zahrádky či bedýnek. Asi jsme zestárli nebo zjistili, že bezobalu není pruda, že podporovat konkrétního člověka je lepší než anonymní řetězec, že vybírat mezi 10 druhy toho samého nás nebaví a je pro nás jednodušší, když mají tu jednu věc, která nám vyhovuje.

Takže až někdy pojedete kolem Kačerova tak se zastavte u Sovy. Pro auta a kola má parkoviště, pro pěší je kousek od zastávky autobusu. A třeba vás to taky chytne.

Napiš komentář, díky!

Salesforce v Česku – o CTA

O CTA aneb Certified Technical Architect, nejvyšší certifikaci, které je možné v Salesforce světě dosáhnout, jste možná už slyšeli. Pokud ne, tak jde o certifikaci, kde o svých znalostech přesvědčujete 3 reálné lidi, stojí 6000$ (plus DPH), má ji cca 400 lidí na celém světě a většina uchazečů neprojde.

Tentokrát jsem si pozval tři lidi, o kterých vím, že si na ní letos či příští rok chtějí sáhnout. Taky jste zvědaví, co jsem se dozvěděl?

Zpovídal jsem Martina Konu, který si říká, že je to kvazi státnice na VŠ, skvělý způsob jak se odlišit a něco si dokázat.

Dalším byl Martin Vyskočil, který to původně považoval také za nemožné, ale pak přišly jednotlivé certifikace a najednou to nebylo tak daleko, aby se to nedalo zkusit.

A poslední podle abecedy je Sváťa Sejkora, který se považuje za samouka a říkal si, že ji nikdy nebude mít. Dnes jsou pro něj certifikace jako „důkaz“, že člověk má přehled, příprava učí spoustu důležitých věcí a naučí člověka přemýšlet i jinak.

Co z nich vypadlo?

  • zakomponovat přípravu do každodenního života je makačka, né všechno jde vyčíst z dokumentace, spoustu věcí člověk zjistí až v reálném životě;
  • i v reálném životě je prezentace a softskill hodně důležité, tím víc čím výš člověk prezentuje;
  • softskill naopak hodnotu zkoušky zvyšují, protože to nejde najít snadno na internetu;
  • naučit se suverenitu, nezapomenout na nějakou oblast bude výzva;
  • je to stavění na dalších zkušenostech, o tom jak rychle se člověk dokáže zlepšit, dlouhé zkušenosti nejsou automaticky kvalifikace, několik velkých projektů ideálně jejich vedení pomůže, od toho rok tvrdé a strukturované přípravy může stačit, mocků ideálně alespoň 30;
  • je to marketingová značka pro firmu, ale současně do nějakých projektů je to nutná vstupní podmínka minimálně na dohled nad projektem/návrhem, kde se dají napáchat největší chyby;
  • učení nikdy nekončí, musí pokračovat možná i intenzivněji;
  • architekt nemusí být úplně hands-on, ale čas od času by na to měl kouknout, zkontrolovat;
  • flowrepublic dá koncept, studijní skupinu se kterou se potkávají každý den, ale samo to nestačí, člověk do toho musí dát vlastní sádlo
    důležité pro kredibilitu firmy, minimálně ten první, ti další už tolik asi nezmění, mělo by to mít dopad do kvality projektů a jejich úspěchu;
  • není to certifikace jako každá jiná, přístup a příprava je úplně jiný a bude vyžadovat výrazně víc elánu a času než možná čeká; dosáhnout na to může každý, když mákne;
  • cesta je cíl, je potřeba se v tom najít a užít si to, skvělé pro znalosti, networking, nové přátele

Další zdroje, které jsme byť nepřímo zmínili:

Listen on Apple Podcasts Listen on Spotify
Napiš komentář, díky!

Junction Object Security

CTAs know everything. And then there are moment when they don’t. Or they challenge documentation. Or just read the documentation differently. Or its different part. Or speak with someone else who read it differently.

Junction Object Security might be one of those small things, even though you probably rarely hit this question – what drives access to junction records?

Assumptions

As taken from Help, you can explain it in multiple ways.

Sharing access to a junction object record is determined by a user’s sharing access to both associated master records and the Sharing Setting option on the relationship field.

Looks like we need access to both parent records to have access to the child.

The first master-detail relationship you create on your junction object becomes the primary relationship. This affects the following for the junction object records:
….
Record ownership: The junction object records inherit the value of the Owner field from their associated primary master record. Because objects on the detail side of a relationship do not have a visible Owner field, this is only relevant if you later delete both master-detail relationships on your junction object.

….

As sharing is driven by ownership maybe only access to the primary record might be enough.

Let’s find out.

What we have

  • role hierarchy with two Child role and one Master;
  • two users, each of them assigned to one Child role;
  • one manager user, assigned as their boss;
  • one system admin;
  • two Master objects, both OWDs set to private;
  • one Junction object.

Testing

Scenario 1

User 1 creates a new master & child records.

They are not visible to User 2, they are visible to Manager.

Scenario 2

User 1 creates both master records, system admin creates a new junction record.

They are not visible to User 2, they are visible to Manager and User 1.

Scenario 3

User 1 creates one master record, Manager second one plus junction record.

The record created by Manager is not visible to User 1, junction record is not visible to User 1 as well.

Scenario 4

User 1 creates both master records and junction record, shared the primary master record one with User 2 for Read Only access.

User 2 can see the shared master record, cannot see any junction object.

Scenario 5

Continuation of Scenario 4 – the second master record is shared with User 2 as well.

User 2 can see the same junction records as User 1.

Scenario 6

User 2 tries to edit junction records. The relationship is set for Read/Write on both relations, he has only Read access to the both records.

Sharing Settings on Master-Detail relationship

User 2 is not unable to save the record, he will get an error when saving. He cannot change any relation (User 1 can if they allow re-parenting).

Scenario 7

User 2 tries to edit junction records. The relationship is set for Read/Write on both relations, he has Read/Write on primary one, Read Only on the secondary one.

User 2 is not unable to save the record, he will get an error when saving.

Scenario 8

Continuation of Scenario 7 – the MD fields has Sharing Settings changed to Read Only, User 2 tries to edit junction record.

User 2 can edit junction record if its sharing is the same or higher as in Sharing Settings.

Scenario 9

Continuation of Scenario 4 – User 2 tries to create junction record.

User 2 is unable to save the record as he will get the following error.

Error when saving record and not having proper rights on parent

Scenario 10

Continuation of Scenario 9 – primary parent record is shared with User 2 for Read/Write. User 2 creates junction record, where the second master record is not shared with User 1.

User 1 cannot see the new junction record.

Results

  • you need access to both parent records to see the child;
  • Sharing Settings on field definition can change results for savings/creating.
Napiš komentář, díky!

Farewell to Lightning Champions

When something ends something else can start … well, will see what happens now.

Three years ago I was honoured to be accepted into the very first batch of Salesforce Champions. This first batch could even choose whether they want to be Activation or App Dev Champions or both. Of course I applied to both.

First years were really good. Not just for the nice hoodie I got, but also for the semi-regular calls with product managers where we could learn more about the longer term future. Also we were a bit more involved in demos at Dreamforce or manning the booth.

Besides that it was all about creating content on our own or being guests in content prepared by Salesforce. I already forgot they hosted me at admin podcast some time ago, but this screen shot from the wrap party confirm it.

What never happened to me was the peer-to-peer part of the program, where the idea was to help end customers with getting ready for the switch.

And then came the time when everyone was on Lightning or at least it wasn’t topic anymore. So we were renamed to Platform Champions but what we did never really changed. Actually it was pretty good as suddenly even the blog posts about flows counted as activity.

Speaking about activities that was the part I started to hate about a year ago. Of course we had to report them, so the team can prepare such nice statistic as the one above, but I realised I don’t really want to do this paper work, I want to promote, speak and write as I want. Mixed together with the – logical – requirement of what is the minimum number we should create on quarterly basis to stay in the program. And the fact that I run out of idea or half of the things didn’t count under the program as they were part of my job/community leader.

Time to quit, especially as I got a feeling I’m not getting much in exchange. All that feeling even stronger due to Covid lockdown.

Farewell

And then we got the news – the Platform Champions program closed down, good job everyone. Some had hard feelings about that, some felt like they will miss something, some others (as me) didn’t really care and fully understand the decision. Keeping the momentum must be super hard.

So we had a wrap party and it was really great, especially the memories and take aways people shared. How they got a job because of their involvement. How they met new people. How they learnt new things. How they became better at presenting.

At that was the moment when I – again – realised how happy I was being part of this force. It was great experience and thank you everyone who made it happen. And who knows, maybe I’ll become part of another Champions program, as there are a few of them still running.

At least I hope – where are you Marketing, Analytics and Quip Champions?

Napiš komentář, díky!