Featured

Ready Admin One

Or what video games have taught me as a Salesforce admin (and consultant).

I realize that this will come as a shock to almost 0% of my audience, but I like to play video games. Mostly long (100 hour plus) RPGs with rich stories, well-developed characters, or at least enough of one to mask the lack of the other.

Growing up I didn’t have a game console. It wasn’t until I was an adult, free to make my own choices and eschew responsibilities as I saw fit, that I really started getting into them. As an avid reader and someone who revels in the feeling of accomplishing a task, they’re kind of perfect. There’s a story, and there are clear steps and tasks presented that have clear success or fail requirements. You know…not at all like real life.

All the same, I’ve been able to apply a lot of things from my hobby to my job. If you’re a fellow gamer, you might recognize some these things, too.

Leveling up can be a grind

I am a trophy hunter. If there is an achievement to be unlocked in a game, I’ll probably go after it. Enter: Skyrim.

One of the last trophies I earned before getting platinum was the silver Master trophy, for reaching Level 50. I had completed the main game with two different characters. I had finished all of the side faction storylines, but I still wasn’t quite there. So I did what any other Skyrim fan has done – I started grinding through low-level abilities to get that sweet XP. I made so many daggers; I cleared so many dungeons. It was boring.

platinum700

But I got the trophy. And I got the platinum.

Twice. (Thank you, Bethesda, for re-releasing it on the PS4.)

If you think that only applies to games, you’ve obviously never gone after multiple Salesforce certifications. Reading and re-reading release notes, help articles, the study guide, blog posts, Trailhead, etc. It takes some serious heads-down time to study for some of the certifications out there, and yeah, it can be really boring. But at then end, you have a brand new certification.

Side quests

It’s Monday morning for the solo admin, and they have their week planned out. Got some Trailhead badges to earn, a new dashboard to build, and a meeting with the steering committee. They have one goal this week: deploy a new custom object and flow, to support a functional group that is adopting Salesforce.

preston

Except….

A user needs a password reset.

Another user deleted a record but they can’t remember which one, and they need it back.

An executive needs a report of all sales in 2012, for some reason they have deemed unimportant to share.

And on and on and on. Each random task may only take a handful of minutes, but those minutes start to add up, and soon your inbox is full of minor requests that may have a time limit attached to them. At least all experience is good experience, right?

It’s good to recruit companions

dangerousEven non-gamers know this one.

It’s not impossible to finish quests and storylines alone, of course. But misery and joy and struggle…pretty much everything loves company. So why wouldn’t you recruit companions? Especially if they can fill in gaps in your abilities or knowledge.

Most of us already know the importance of the community, so I can pretty much just…leave this here, right? Ohana, my peeps.

Once a completionist…

This is actually a thing (read about the Zeigarnik Effect here). Once a gamer (or an admin) starts on a quest, we have to finish it. Luckily many of these tasks have definitive end-games.

Slay the dragon.

Deploy the change set.

Find the pan.

Build the report.

We obsess over the things we haven’t completed. How many of us have gone to sleep, thinking about data schema, only to wake up with the answer and excitedly go about building what we imagined?

How many of us have to get all the Trailhead badges? (BTW, if you think Trailhead hasn’t taken into account some of what I’m writing about here, you aren’t paying attention.)

And it’s not just video games

Ultimately it comes down to liking the feeling of solving a puzzle. Admins are problem-solvers. We are people that like to get our hands dirty, play with something, and make it work. For me it’s like video games. For some people it’s like puzzles or building things.

We are the people who stay up into the wee hours, searching the community, building and rebuilding our flows, until it is done.

And bonus! Now I can check this particular task off my list.

Skeleton-King-Quest-Complete

You asked, I listened: Checkboxes in Pardot

I’ve barely kept the lights on around here in the past few years, but I have noticed I got a few comments asking about checkbox fields in Pardot. And in everyone’s defense I said that they would get a whole post, so…here we are.

Checkbox basics

Before we bring Pardot into the mix, let’s just consider the humble checkbox. A box. That one may check or uncheck. We call this a boolean because it has only two potential outcomes — true or false, checked or unchecked.

Are you a robot? If you are NOT a robot, check this box.

Did you read those terms and conditions? Yes? Then check this box.

True or false.

And in Salesforce (not to mention most other similar platforms), that is exactly how it is used. A checkbox field will have a field label and can carry either a true or false value.

That is true!

Why this is important

I have done a lot of data migrations, and I am still doing a lot of them, and one of the most common data transformations that I have to do is turn a series of Yes/No values to TRUE/FALSE, in order for Salesforce to accept said values. To be fair, a 1/0 would also work, but I find it easier to share with clients with the true/false.

This is important.

Salesforce will ONLY accept a 1 or true to check a box. A blank value, a 0, or false will leave the box unchecked. There is no other value accepted during an exchange of data from another system.

When exported, a checkbox field will be presented as 0 for False or 1 for True

And then there’s Pardot…

To be fair, it’s not just Pardot we’re talking about here. Most form tools take the humble single checkbox and turn it into a selection-type question: select all that apply!

For each value that you want to include, you check the box next to it.

When using a checkbox field type in a form UI, you may see something where there are multiple options to check off in a list.

And more specifically, with Pardot and these other forms, a checkbox implies that you may select MULTIPLE values. (Whereas a radio button selection implies a single option must be selected from the available values.)

And another thing

All of this in and of itself is good to know, but there’s one more piece to remember: Pardot and Salesforce communicate via API.

APIs have their own parts of speech, just like we do — they’re called data types, and there are only a few of those that are used: strings (text), numbers (a couple of types), boolean…and picklists are not one of them.

So when Pardot and Salesforce speak, they don’t have a way to share a picklist because the API has no concept of what that is.

A code block that shows the HTML behind a simple form
This is your form in HTML

Putting it all together

So we have Pardot/form tool that is using checkboxes to effectively toggle a series of selections on or off trying to potentially send those various values to a single checkbox that accepts only TRUE or FALSE.

It doesn’t work.

All of this is to say that while they have the same name, the data types themselves are in fact different. The checkbox field in Pardot lines up much better with something like a multi-select picklist (MSP) in Salesforce.

Or you can use all of this combined knowledge to your benefit.

Option 1: Send TRUE/FALSE values

The first option you have is to create a single checkbox question instead of a multi-select question. For instance “I would like you to contact me” — that’s a simple, yes or no question.

For something like this, you would create your new custom field, and you would create a value option called “true.” (Remember: if there is NO value sent to a checkbox, then it’s false.)

Step 1: Add the checkbox to the form

When you want to include that field in a form, you add it, and in the settings for that field on that form, you set the display value as a blank value. Now when someone looks at the form, they see the field label and a checkbox. They check the box, the value sent to Salesforce is “true,” so the synced field is checked.

Step 2: Change the Values of the field to have one that sends “true” but has not displayed value

Boom.

Now you have a single checkbox that, when checked, will send “true” to Salesforce

Option 2: Sync your Salesforce checkbox to a Pardot text field

Since Pardot treats the various values as text values, then it’s perfectly acceptable to just…send text values to Salesforce.

The downside here of course if that you lose the more aesthetically pleasing UI of a picklist for your Salesforce users. And reporting could be difficult, if you need to pinpoint certain selections. But you don’t have to worry about sync errors, which is pretty nice.

Option 3: Sync your Pardot checkbox to a Salesforce MSP

I can already hear some admins grinding their teeth, but the fact remains — a checkbox field in Pardot is closest to a multi-select picklist in Salesforce. You could always just embrace that fact.

Or again — use a text field! Let Pardot send strings upon strings of letters to open text field in Salesforce and just don’t report on it if you can help it.

Option 4: Don’t use checkboxes on forms

This is the simplest option out there — checkboxes themselves are fairly easily managed directly. The complications come when you start using them on forms, getting text values that don’t match. So you could avoid it all together and simply manage checkbox data through other means, like automation or manual entry.

That’s if you even really, truly need to use one.

Honestly, though…

This is all good stuff to know, but it also may never come up for you! Like anything else technology, your best bet is to try out a few different options, and find the solution that works best for you and your use case.

But hopefully this can help when you start down that journey.

Halfway(ish) through NaNo and 2020 nears its end

So 2020 has just gone for it, huh?

Look, it’s been a shit year, and we all know it, but I’m not about dwelling on things. I have worked really hard to change my bad habits, and one of those bad habits has been holding onto things for just way too long. I am still carrying some things that I haven’t learned how to put down, but I figure if I can not pick up any NEW things, I’ll be doing myself a favor.

And frankly…Mass Effect Legendary Edition is coming out in 2021, and I spent so much of that cast reunion live video cry-laughing that I don’t have much more energy to spare.

It gave me a lift, though. A sorely needed one.

I’m taking a break from my NaNo project (I’m over 33k words as I write this, and I don’t know what happened or how that happened, but I don’t want to question it too much) to just pop in. I made some changes (again). I made a little logo. I brightened up the blog overall.

I have some drafts that have been sitting around for a few months waiting for TLC, and I’d love to tell you all that they are coming soon, but I am IN IT right now, and that won’t happen for a while.

It’s just the whole…end of the year thing.

And this year, of all years, I thought it might be important to just let folks know I’m still here, still kicking. I dropped of social media because of a kind of…uncomfortable thing that happened, and it was like doing a cleanse. It’s been amazing how less I worry about things that I have no control over when I’m not Doom Scrolling every day.

Did some gardening this year. Cancelled the Civil War history tour we were going to do for obvious reasons. Instead discovered there is a wetland preserve in our neighborhood that has been there for years, but we just found it this summer. Was introduced to N.K. Jemisin and devoured her books over the course of a couple of weeks. Watched a lot of Mass Effect streams on Twitch. Played a lot of Mass Effect on my PC. Finally installed some mods to play with, too.

And now it’s NaNo, and I’m writing consistently, despite some kind of long hours.

I’m alive. I’m writing. I hope you are well and finding time even in this year to do some things that bring you comfort.

What I learned this week about: Late war German camo schemes

If the current atmosphere of the world in general has taught me anything, it’s that there is no reason not to be incredibly self-indulgent with my blog posts. On the list of Things That Are Important to Sam, agonizing over whether or not the words that I publish in the growing void of the internet are relevant is not even on the list.

Which brings us here, to the misleadingly titled blog post because, in fact, this is a topic near and dear to the hearts and minds that reside here.

World War II is a frequent subject of discussion, reading, gaming, watching, etc. in general. It started with my willingness, early on in our relationship, to give Band of Brothers a try (as someone who for years could not bring herself to watch a war movie, much less a mini-series based on actual people), and it’s evolved from there, culminating in one of two things: watching Generation War (never again) or planning a D-Day history trip that we went on last year (100% would do it again).

Said trip was, in fact, inspired by this very topic.

If you’re unaware of it, allow me to introduce you to the Tank Museum near Wareham, Dorset England.

I first learned about this museum through Saturday morning YouTube watching. I am not always engaged in them, but it’s pretty standard fare…instead of cartoons, we’ll have miniatures painting, war history, or tank videos on while we enjoy our coffee.

It was in this way that I learned that I like tanks. Or I like the enthusiasm that the museum curators have for them anyway. We all have our things.

This has become a running theme in our house since the first time we heard, in one of these videos, the phrase “we all get excited about late war German camo schemes.”

We got a picture at the tank museum of us with the tank that was highlighted in that particular video.

So…late war camo schemes.

First thing, I guess – why German camo schemes?

They had some amazing tanks; I don’t know what to tell you. The Tiger is one of the most feared and infamous tanks of World War II, and there is only one functioning Mark VI in the world right now.

Sam and Sherman Crab
One of Hobart’s funnies – this one cleared mines!

There’s also a story behind it! There are other tanks out there that I like way more…Sherman Crab, I’m looking at you. But as explained above, there’s like a Thing here.

Anyway, let’s talk about what “late war” means.

If you study history or went to school in Europe, you know that the war started in earnest in 1939, though it isn’t as though it just happened overnight. Planning something like the invasion of Poland takes time, after all, and for a megalomaniacal smear on the Earth who dreams of world domination, that goes double. This is early war! Lots of high hopes for world domination in these days.

In June of 1941, Germany invaded Russia under the umbrella of one of my favorite codenames – Operation Barbarossa. Tanks play a big part in Barbarossa, what with Russia being huge and all.

Things did not go well for the Germans on the Eastern Front.

And frankly the attitude of a certain chancellor did not help. A little bit of ego got involved, and through 1942 they started to lose ground, officially losing their foothold in North Africa in 1943, which paved the way for the western Allies to swoop on into Italy, pressuring the country to turn AGAINST the axis powers.

1944 brings us to the late war.

German forces were spread too thin. There were like 100 fronts (this is obviously an exaggeration, please do not @ me), and they were winning on 0 of them.

For the soldiers on the front lines, things were falling apart swiftly. Supplies were severely limited, but expectations remained high…ridiculously high, with an insane leader of the country shouting from a bunker in Berlin that they should cede NO ground.

I mentioned Generation War; it’s a miniseries I could never bring myself to watch again, but if you want to feel the absolute desperation and desolation of this time in the war, go ahead and give it a spin.

At this point, Germany was producing arms at the highest rate yet, but when you are the bully, no one actually wants to help you, and despite the various countries they had toppled earlier in the war, they were running out of resources.

Armies have to eat.

Tanks need fuel.

And speaking of tanks…pigments need solvents! As production of tanks and aircraft ramped up, despite the dwindling resources available, motorized military equipment began shipping out as quickly as possible. They were losing tanks almost as fast as they could produce them, so they were sent to the front lines hot off the presses.

And alongside those tanks would be cans of pigments with which to paint the tanks.

Sam and Eric and Mark V
The tank that started it all…a Panzer Mark V in late war camo scheme

Tank crews would receive their new vehicles, with their tins of pigments, but no solvents would be provided because again, having lost in both North Africa and the Caucasus regions of the Soviet Union, they had lost sources of petroleum.

But soldiers are innovative types, and they did what they could with what they had. Maybe what they had was water. Maybe it was vodka. Maybe it was urine. Or mud. Or some sort of fruit juice. Or literally anything at all that they could mix the pigments into and slap onto the exterior of their cramped homes-away-from-home.

Fast forward, and Berlin falls, Hitler takes the coward’s way out, and the Allies go home.

If you find yourself  many years later a history buff, especially one who has collected 15mm miniatures to play intricate war games, you might find yourself needing to know  just what colors were used by the German army, so that you mini German army can be historically accurate?

And if you’re going for historically accurate late war German camo, I have good news and bad news. The good news is you probably don’t have to worry too much, since there was no consistency in the color scheme. The bad news is I can’t really tell you how to get that authentic feldgrau mixed with old tobacco water look.

Nor do I know how to properly encapsulate, with acrylic paints and plastic, the horrors and pain of war.

But somehow, in the muted and irregular colors left on abandoned tanks in fields across Europe, we can get close.

 

 

What I learned this week about: 5th Edition

A few weeks ago (was it weeks? Maybe months. Perhaps decades) I posted a very self-indulgent post about rediscovering my TTRPG past, and as I should have expected, that sent me spiraling into the rabbit hole of just…a lot.

It’s been my insulation. My security blanket. The source of a lot of sometimes blissful and always confusing fugue states.

I have been hesitant to dive into it all with the same fervor that once gripped me. I have a tendency to hyper fixate on these things. My dad used to describe it as my knack for going from 0 to 100 in a snap, and from what I understand, that can be exhausting for those around me, so I temper it as much as I can.

But it is difficult.

Behind this desk, where I’m typing this between meetings and configuring things, is a bookshelf, and the bottom shelf of that bookshelf is dedicated to years worth of gaming notebooks. I can tell you what is in each one. The black one with the slip cover once held a veritable TOME of gaming history for a single Mage: The Ascension character. The white one covered in sharpie ink that has turned blue over time holds my other Big Name Characters – a True Brujah, a Virtual Adept, a couple of Ratkin and Nuwisha, and my very first ever character, a Gangrel who was a bit of a mess.

What I’m saying is that for years, the White Wolf/World of Darkness games were a very big part of my life, so even more than usual, it would be so easy to gun it.

Lucky for me 5th Edition is pretty different from classic WoD, and that has given me something new to learn about. Slowly and in a fashion more befitting someone who has a massive org migration to complete in the coming weeks.

vampirefeatured

 

Sam, you say, 5th Edition has been out for a while. You are so slow on the uptake.

Reader, says I, there’s like…emotional baggage here, ok? Let me approach these things in my own time.

These are some of the things that have stuck out to me, in no particular order.

Easy stuff first…the character sheet is different

It’s a minor thing in itself, and obviously it had to change to fit the new game style, but…I miss that sweet border.

And I wasn’t the only one. Luckily Mr. Gone has got us covered, providing a 5th ed. sheet in that old school style.

Some Clans are missing (or have a face lift)

Where my Ravnos at? Not in 5th edition. Assamite, now the Banu HaQim don’t have a clan entry anymore, either. And as part of that, some of the Disciplines are different. Quietus is part of Thaumaturgy kind of I guess…so…magic assassins can be a thing.

There are Reasons for these absences in the lore, so it’s not like they were retconned, but I do feel their absence.

On the flip side of that, the Brujah clan feels more like what used to be the “True Brujah.” They seem to have returned to philosophical roots and a political anarchist movement, as opposed to being the Camarilla’s muscle.

Difficulty works different

Back in my day, when you had a roll of particular ridiculousness, the difficulty would be a number on the dice you were rolling, as well as a number of successes that you might need.

“I want to use Entropy to literally snap the strings of fate.”

“Ok. Difficulty is 10, and you will need a bajillion successes.”

NO LONGER! 6 or above is the magic range, and also critical rolls work different. No more rerolling 10s, a tactic that saved my skin multiple times.

There’s new dice, if the number thing isn’t for you. You get dots; you get ankhs; and you get SUPER ankhs. For newer players, that’s probably way easier.

Humanity and Hunger

I went whole games without thinking about hunger in my first chronicle. One of the things that I LOVE about the new system, especially watching LA By Night, is the emphasis on hunger. To be fair, a lot of that joy comes from Jason Carl’s amazing job personifying the characters’ Beasts. But also it should be a thing…vampires gotta eat, and what they eat is blood. That might take some getting used to for a neonate.

The other thing that stands out to me is the emphasis on PERSONAL humanity. It’s still pretty close to the Paths, I guess, but it feels so much more like the individual struggle that it should be.

Both of these really intrigue me.

Blood and Willpower Points

Mechanics! The mechanics are different.

I used to go through my Willpower pretty fast to reduce difficulties. Now Willpower can be spent to reroll dice (and some other stuff).

I also spent a LOT of time playing Mage and less Vampire, but like hunger above, there was very little emphasis on monitoring my blood pool for most day-to-day games (not always, to be fair). That has changed, and again…I like that.

There is some support for the cringe-worthy stuff

It’s towards the end of the book, but there is a whole section about ways to handle some of the more (fandom old here, speaking) squicky stuff that may arise in a Vampire game. I’ve seen some mention of the issue of consent in TTRPG lately, and it’s something that should be discussed.

The new Vampire book provides insight into how to avoid it, as well as ways to make a safe space for your players. Kudos to the writers and editors for that.

So anyway…

This has been such a strange awakening (ha ha…Mage joke) for me, brought on by a global pandemic. A mix of nostalgia – and who doesn’t love that? – and something new simultaneously. It’s fun to see people discovering Vampire for the first time, as much as it is to see people reminisce about the original system.

It’s definitely served as a prime distraction, and I am grateful to all of those that put out content that I couldn’t have even dreamed of years ago when rolling my first (gray) 10 siders and drinking Dr. Pepper.

What a wild time to be alive.

What I am learning this year about: Living through historical moments

For years the Big question for people was “where were you on September 11th?”

That was the defining moment, the axle spin that took us all from Point A to an unexpected, uncertain, unplanned-for Point B.

And we could all pretty much describe in great detail – those of us old enough to remember – where we were, at that moment. What we were doing. What we were thinking. How we were feeling. The days that followed, too, are often cast in stark relief against more mundane times of our collective history.

No one woke up that day (well, of those of us not directly responsible) thinking “today is a day that will change the world, or at the very least, change my world and the worlds of many other people.”

But we all knew, as we watched the day pass by, that we were watching and/or experiencing something that would be in history books.

So here we are, feeling that same sensation again. Change – monumental and unsure – is already here; we are living it.

It can be unsettling. Perhaps frightening, but I prefer the term unsettling because I feel it better encapsulates the length of time that we deal with it. A fright is a sudden thing for me, but that uneasiness, the lack of confidence in one’s footing – that is being unsettled. It’s like sitting on a couch or a chair and being completely unable to get comfortable for any real amount of time.

That’s where we are.

It sucks, right?

It’s easier to look back at things, to read about them from the safe distance of time, fantasize about how we would have done things differently, how we wouldn’t make the same mistakes. When secretly what we’re thinking is “thank the universe that isn’t me.” Even if we’re not conscious of it, there is a part of us that is grateful to have been spared the terrible events of the past.

There is a part of us that hopes we will never have to experience such events ourselves.

I have thought about this a lot, in fact. This idea that sometimes we have to go through to get out, and in those moments that through seemed absolutely impossible, I’ve always come back to the same place.

“I wish it need not have happened in my time,” said Frodo.
“So do I,” said Gandalf, “and so do all who live to see such times. But that is not for them to decide. All we have to decide is what to do with the time that is given us.”

– J.R.R. Tolkien, Fellowship of the Ring

I’ve relied on it so heavily that a few years ago, I got part of it tattooed on my arm, my daily, sometimes hourly, reminder that all I can do is what I can do. This situation sucks. But this situation is what it is. We cannot close our eyes and make it disappear. We cannot be born in some other time. We are here. Now. And we must go through.

allwehavetodecide

What I reminisced about this week: TTRPG

Monday Eric sent me a text with a meme from a DnD group on Facebook (I think it was Facebook) with a cat sitting in front of a character sheet. The DM is saying that the adventurers have encountered a wizard, who has placed a chalice of some bubbling, smoking liquid on the table. And of course the cat says “I knock it over.”

Obviously I laughed about that for a half hour.

And then I got a little fixated on something: the character sheet in the picture. It was not a DnD character sheet. It was a White Wolf character sheet (or World of Darkness, I suppose – look, I can barely keep up).

This led to a day of hyper-fixating on WHAT FREAKING GAME IS THIS FROM.

It’s been YEARS, I mean over a decade, since I played any White Wolf game that wasn’t VtMB.

Things I remembered very vividly, right off the bat:

  • The different games had different borders – Vampire had a sort of gothic, wrought-iron looking border; Mage had a sort of geometric fade-out thing with the various symbols associated with the types of magic floating around; Werewolf was a relatively simple border with slashes through it.
  • Mr. Gone’s website was THE resource for character sheets
  • The character sheets and systems changed after I stopped playing
  • Every detail of some of my longest-played characters, playing their stories in my head like a movie,
  • Dr. Pepper
  • Faygo for a while there
  • The Combat Mix
  • Some other things that I’m not about to unpack for a bunch of people on the internet

Could not remember the specifics of this sheet, however. So I let it go.

For a couple of hours, during which I was still chugging the waters of Mnemosyne.

Obviously I love video games, and that love springs from my origins with pen, paper, and ten-sided dice. I love stories – hearing them, watching them, reading them, telling them – and it doesn’t get much better than building a story with friends.

What I liked (and still like) about the White Wolf World of Darkness games was that they always felt so character-driven to me. It was ridiculously easy to play a game with only one storyteller and one player or a very small group. The stakes always felt personal in some way, or if they weren’t, there was usually (with a good storyteller anyway) a very compelling, personal reason that your character was in the midst of whatever was happening.

DnD lacks some of that to me.

DnD also lacks the epic dice rolls. Listen, I like the simplicity of the D20. But there was something about putting points into my attributes and abilities and then rolling some crazy number of D10s that was just very satisfying. It’s like playing Warhammer and getting like 15 attacks and just chucking dice all over the table while laughing maniacally. It just feels good.

I spent years playing White Wolf, collecting lore about my characters, carefully taking notes, and organizing all of the matériel that came with lovingly playing those roles.

And it took me years before I was able to really start playing again. I play DnD now on Monday nights with a small group; we play online, and we have two people who are new to the game, and I find that the, let’s call it practice, that I got all those years ago comes in handy.

I still miss White Wolf sometimes. I still miss some of my old game group. But like anything else in life, I find that change is good, and while the mechanics may have changed, and the faces around the table, the core of it is still there, and that’s what matters.

It was an Exalted character sheet – a White Wolf system I never played, but boy was it fun to fall into the rabbit hole because of something so familiar.

And to solidify this as a week of thinkin’ ’bout old times, I later saw an internet friend post a picture of their OWN Exalted character sheet just before starting a game.

It all comes full circle. Play on, friends.

What I learned this week about: heavy cotton

There are some things we learn that feel like a well-earned, long journey. So much of what I know about Salesforce feels like that; it’s a lot of small steps that feel insignificant at the time, and then I look back, and I realize just how far I’ve come.

A lot of those steps don’t even feel like steps when they are taken. It’s just something that happens, and you realize some time later that that knowledge is in your bones now.

This isn’t one of those times.

What I learned about heavy cotton is a lesson learned that will stick with me because it was inconvenient.

I’ve been thinking, this whole series, or whatever it is, could actually be further broken down: what I learned (yay!) and lessons learned (wow, Sam, seriously?).

What I learned:

  • A new fun thing
  • Wow, that was really tough, but I got through it
  • Other people may be as interested in this as I am (and maybe not, but I posted it anyway)
  • This is a New and Fascinating thing
  • I didn’t know this even WAS a thing

Lessons learned:

  • Oh, there is a single tag missing on email templates that make it NOT responsive
  • Turns out I DO need a loop step in this flow
  • I should have asked these questions before starting this work
  • Make sure your friend isn’t squeamish before surprising them with tickets to the Bodies exhibit
  • Come up with a list of dumb things you’ve done BEFORE you start a blog post about it

About this time no one except me is saying “Sam, dummy, you have literally already done this. You had your guide to failure. You have a tag – literally a tag – called Lessons Learned. You are not fooling anyone.”

Cool. I’m right.

So this is really more a “lesson learned” then. That was the point.

Heavy cotton – think a heavy weave, stiff fabric that doesn’t fold so much as bend. Sure you can wash it. You can maybe even dry it, unless you’re trying to keep it from shrinking.

But here’s the thing.

It takes a long time to dry. Like a ridiculously long time. (Side note: My computer is telling me that I used to wrong ‘to’ in that first sentence, and I am just disproportionately angry about that. No, Apple or WordPress or whoever. It should NOT be time too dry. THAT MAKES NO SENSE. YOU SHOULD WRITE A LESSON LEARNED ABOUT BASIC GRAMMAR.)

If you wash your heavy garment at, say, 11pm the night before and dry it for a little while but then leave it out to air dry, don’t expect it to be done before 11pm about two days later. Definitely don’t plan on using it unless you like the feeling of heavy, damp fabric on your shoulders.

I don’t.

Sam, you might be saying now, this is ridiculous. No one cares about your heavy cotton blend. What does this have to do with anything?

Nothing. It’s just been one of those weeks. One lesson turns into frustration, turns into mistakes that really I should know better about, and here it is Friday morning, and I was Done with this week on Tuesday.

I don’t like to talk about my problems or frustrations with people, so when the little things add up, I find that my options are to either implode or write it out. Vaguely. Probably somewhat incoherently. But written nonetheless.

So yeah. I learned a lesson this week (a few). I’ll learn more lessons in future weeks.

But I definitely will not wash heavy cotton the day before I need it. That 100% will not happen again.

 

What I learned this week about: Pardot Form Handlers

A better title: What I learned last year about Form Handlers and am now getting around to posting. Holidays, amirite?

I could probably write a whole series on Pardot Forms and Form Handlers, but it’s also probably been done already. Plus there is documentation available. Or you could pop over to Jenna Molby’s blog for a lot of great content in that same arena.

I’m here today to get into some of the things that you really need to know and consider upfront because here’s how a lot of conversations about form handlers go:

Me: Pardot has forms, which are fully functional, hosted on your Pardot instance, and can take some custom styling, and it has form handlers, which allow you to identify the fields that you want to accept data for, and then Pardot generates a post-to URL.

You: So there’s really no difference?

Me: No, there is a big difference. One is a form. One is a post-to URL, so ANOTHER form can send data to that handler, and then the handler disperses the info to Pardot.

You: So form handlers are better for forms that have custom formatting?

Me: They CAN be, but I tend to think of it as – ‘I have a longer, more complex form, and I only need SOME of the data to go to Pardot.’

You: But they can do all the same things, right?

Me: No. Because the form handler is just a post-to URL.

You: I get it. We want to do a form handler, then. Our web developer will create the form.

Fast forward a few weeks, maybe even months, and when troubleshooting happens, everyone is confused. Here are the reasons why and what you should know BEFOREHAND.

Troubleshooting a form handler takes place in two (or more) places.

Scenario: We have a form on a website that is accepting four fields, and some of those fields are not appearing in Pardot.

What you need to check:

  • The fields identified for your form handler
  • The data type of the field on your form
  • The data type of the field defined in your form handler
  • The data type of the field in Pardot accepting the data
  • The field name on your form
  • The field name defined in your form handler

If ANY OF THOSE are out of sync (as in not exactly the same), then you will not get data in that field.

When you bring Salesforce into the mix, it can become even more complicated, as you now need to consider your data formatting from form, to form handler, to Pardot Prospect field, to Salesforce field.

You have basically ZERO (0) options for form handlers.

Want a custom error message? You have to create it on your site.

Want progressive profiling? You have to create it on your site. (Oh, and you have a required field on your handler? Then guess what has to be on EVERY VERSION of that custom built form.)

Want to control accepted data values, like for a dropdown menu? You have to enforce that on your site.

Here’s what you can control with your Form Handler:

  • What fields will accept data from your form
    • What format that data should be in
    • What the name of that field is on the form itself
    • Is this data required?
  • A success location (where the form redirects on a successful submission)
  • An error location (where the form redirects if there is an error – but see note #1 above)

That’s basically it. If you want to change something, ask yourself – is it one of those three things above? No? Then it needs to be changed on your site.

The ONLY THING a form handler does is generate a post-to URL and then disperse data to Pardot fields.

Oh yeah – you should know what a post-to URL is.

To understand what Pardot is actually doing, you need to understand the two basic functions of an integration (like SUPER BASIC functions) – you can GET data FROM a place, or you can POST data TO a place.

With a form handler, we are essentially building half of an integration. We have a custom HTML (probably) form that we’ve dropped onto our website, and that form does All The Things. It controls the look and feel, what questions show up, the format of those questions, etc.

When someone clicks on that submit button, Stuff happens. One of the Stuffs that can happen is a POST method (a command that tells the form to send data to a place). When we POST, we have to tell the form WHERE to post. And we can do that via a URL.

Pardot provides that custom URL for us when we create a form handler. When the data is submitted, the data types that we defined, and whether or not a field is required, is reviewed, and a success or error message is sent back to the originating source. And of course the data that is accepted is then entered to a Pardot Prospect, based on the field mapping we provided.

Untitled Diagram.jpg

Speaking of fields…you should also know that

  • checkboxes are not going to work the way you think they will
  • date fields in Pardot use a different format than Salesforce date fields
  • you cannot add custom validation to the fields on the form handler (see section 2)

Checkboxes are the big one here.

What you expect: When I check a box, that means that the Thing is True.

What Pardot understands: Nothing. It understands nothing.

This is what adding a checkbox to your form handler looks like:

Screen Shot 2020-01-06 at 10.12.22 AM

Do you see a place for checkbox? Boolean? NOPE.

Guess where you can control what actually gets passed to your form handler? 100 points if your answer was “on the form itself on the site” or similar.

I’ll just write a whole other post about checkboxes in Pardot, actually, so stay tuned.

They aren’t inherently evil, but…

I am not here to just bash form handlers. They can be a useful tool, but it is worth mentioning that they come with additional complexity that assumes a certain level of comfort with some technical concepts – HTML, CSS, HTML methods, etc. They are not for the faint of heart, and they are not a good substitute for true forms.

So when do I recommend using them, for reals?

  • If you have a very long, custom form, and you want SOME of that data to go to Pardot AND the data is very simple
  • If you have very strict requirements for customization that a standard Pardot form cannot guarantee (this is unlikely, but you never know)
  • If you already have a form and just need to send the data to Pardot AND the data is very simple
  • You have a form tool like Form Assembly that has a pre-built integration and are figuring “WHY NOT?”

That’s pretty much it. And that last one even is meh.

A final note/rant on this stuff

Pardot forms (and handlers) are NOT meant to be a full form solution. You should not be using either of these options for things like applications. Think of a Pardot form/handler as a handshake. What is the most basic information you need from a person to get to know them? What is a FAIR exchange of information with your prospects at the lowest level?

If you keep that in mind, forms and handlers are much easier to deal with.

As always it’s about the right tool for the job. Just make sure you know exactly what you’re doing before you pick up a form handler.

What I learned this week about: Pardot Responsive Layouts

I built my first responsive email template in 2014 when I was just coming into the MOPs/Salesforce Admin portion of our programming and realized that my company’s marketing emails were NOT responsive.

Me being me, I ended up sitting through a free webinar put on by Litmus to gain the basic understanding of how responsive emails worked, and from there I was the go-to on the team for all things HTML and CSS. I fumbled my way through enough to ensure that our emails and custom landing pages would look good on mobile.

Side note: I did all of this because I had reviewed the open rates based on device and found that approximately 30-40% of our emails were being opened on mobile. That’s a pretty sizable chunk of people having to squint at tiny print on a small screen.

I am not an expert on this stuff at all, so I’m not about to sit here and break down how to do this – there are much better resources out there for that. All you need to really understand about this is that responsive emails are based on tables, as in:

<table>

<tr><td></td></tr>

</table>

That at least I understood having been big into building strangely elaborate personal webpages when in school. I wish I had screenshots of some of the work I did back then – it wasn’t terrible, all things considered.

For responsive emails these are important because you end up with nested tables – tables inside of table cells inside of tables. Tableception, if you will. (Is that joke still a thing? I use it a lot.)

And then on top of that, there are some special little tweaks you can make to the CSS itself to ensure that when the size of the screen shrinks, those tables all shift around into place, so instead of squished, you get stacked.

Screen Shot 2019-10-29 at 1.17.34 PM <– Like that.

So what does this have to do with Pardot??

In a few implementations clients have used one of the prebuilt responsive templates in Pardot and found that instead of stacking, their template just shrank down into a smaller version of the same layout.

For whatever reason this didn’t seem to happen in previews or even with all template layouts, but for this client it did, and I wanted to fix it. It took some digging. And by digging, I mean rewriting the code almost line-by-line to find the issue, but when I did find it, it seemed a little silly.

The key to that fancy table action above working is in the CSS that exists for that email, so before we even start adding our tables and rows and cells and tables inside of cells…we have our CSS classes defined. Think of those classes as references; later in the HTML tables, I can reference my CSS via the class name, and that is used to display the info according to that reference.

But what I found was a table referencing a class that wasn’t there. Simple mistake and simple solution – we just had to drop the appropriate class name (reference) in the CSS, and BOOM! We had a nice, stacked template.

So what happened??

¯\_(ツ)_/¯

It’s possible that the client made some small change during editing that removed that class. It’s possible that on that particular layout, the class just wasn’t included. I don’t know, but what I took away from that was to just check.

This is true no matter the platform. Any time you are using work or designs created by another source for mass consumption and reuse, just take a minute and review it. Become familiar with it. In a way, the HTML/CSS of your email templates is like a manual for a new gadget you’re putting together. It’s tedious to go through it, and wouldn’t we rather just slap the thing together and be done? Sure. But if you take that time at the beginning to introduce yourself, you’re more likely to find little hiccups. You know, before you start putting any real weight on the thing.

 

What I learned this week about Medieval dagger fighting

I’ll not get into why I needed to know this…just trust that it made sense at the time. And it wasn’t because I myself need to wield daggers.

Fine. It’s because this year I am actually planning ahead of NaNo. I can’t say why. It went ok last year, when I had a flimsy sort of outline. Maybe this year I have a storyboard. Maybe this year I started researching things before they come up in the story, and I lose precious writing hours to watching YouTube videos.

YouTube videos about dagger fighting.

And one thing that kept coming up is the Arte Athletica by Paulus Hector Mair and the manuscripts of Joachim Meyer.

Arte Athletica is a manuscript from 1545ish, written by a German fencing master (Mair), and it’s generally considered one of the most complete manuals available today of fighting styles from this time period. It’s technically made up of two codices, each building off of an earlier body of work and updated to fit those more modern times. And it has waaaay more than daggers; have nothing hand but a sickle? My man Paulus has you covered.

Joachim, on the other hand, made treatises that were compiled into Gründtliche Beschreibung der Kunst des Fechtens, or as I like to call it “how to royally destroy a dude’s day.” Where Paulus compiled what was there, Joachim decided to reinvent the wheel. Kind of.

Regardless, each of these sources provide thorough instructions, and in some cases, pictures, that have been used by SCA enthusiasts looking for that authentic Germanic medieval feel.

Daggers were not meant to be a primary weapon but used in conjunction with (or as a backup to) a sword. Ironically (perhaps) one of the only games I’ve played where a rogue in fact fights with a sword and a dagger, instead of two daggers, is Dragon Age: Origins. So kudos to BioWare…even more kudos to them. They brought me Mass Effect.

The bulk of blocking came from the concept of aiming at the wrist, but given its size, more often than not, a fighter would miss, and so the follow through movements of blocking over or under (too soon or too late) make up a good portion of the maneuvers that one would use.

To avoid slicing through your own arm during a fight, a common dagger of choice was a Rondel, a three-sided blade that was only sharp toward the tip, used for puncturing. As one video I watched pointed out (ah ha!), it was the ice pick of daggers.

I learned that the techniques for dagger fighting, as with any martial art, come down to basic principles, the same basic movements upon which one builds.

I also learned that in today’s world, it’s still primarily white dudes who seem to be worrying about this.