Getting to know what’s in your unstructured data, at scale


This article explores an architecture to classify sensitive data in a large enterprise. We explore Amazon Macie and use Salesforce as a data source to prove out how we could detect personal, health, credential and financial information in unstructured data and for it to scale to any data source and volume.

Data governance starts with knowing your data.

When you have a relational database with columns — and those columns have specific functions — you can classify the data within them and put in security controls to protect it. There’s generally one large gap.

Unstructured data.

Unstructured data is information that doesn’t have a predefined data model or is not organised in a pre-defined manner — things like free form text, notes, files, web chat transcripts, text messages and emails. It’s impossible to know the types of information that people will choose put in them. One thing is for sure — people will do things you didn’t expect — or want. …

6 steps to maximising Lightning Web Component usability with dynamic properties

Image for post
Image for post
Moving from static to dynamic dropdown values in your component properties

Making your Lightning Web Components into reusable assets that can be used across different Lightning Pages and objects requires some thought.

I have been working towards a timeline component that is reusable and one of the issues whilst testing this was the ability to select a different record to use as the basis for the timeline. See this issue for details.

The best example of why this is important started with Cases. Plotting the related records to Cases was important but what Administrators wanted to do was add the timeline of the related Contact to the page. …

The build tools I use to make my code less ugly and error prone

Salesforce is aligning with industry standards and tools for development. Here are some things that Salesforce developers have now to help improve their productivity.

  • Developer focused environments to push and modify code
  • A command line interface to run common tasks
  • Extending the command line interface with custom plugins
  • Writing standard JavaScript code for component development
  • Improvements for packaging code with semantic versioning
  • Access to community and industry plugins

These new features make it easy to standardise on a setup that can help you drive quality improvements in your Salesforce projects.

Whilst your individual setup may differ, and indeed should be able to differ, here is my chosen default setup that I would consider a bare minimum when starting out writing code for Salesforce. …

Why it exists, what it does and how it works.

Single view of the customer, customer 360, single pane of glass, single customer view. However you spin it the goal has been an aspirational one for a large number of companies — allow me to view all customer interactions regardless of which database in my enterprise they reside in. For companies with a large number of disparate brands or those with a large number of systems that hold customer data it can often seem an impossible dream.

Salesforce talks about its ‘Customer 360 Platform’ and has rolled out ‘Customer 360 — Data Manager’, but what is sometimes missing is… why? …

A story in overcoming challenges working with Person Accounts and dynamic SOQL

Update: A tweet from Charles T led me to update this article. See the end of this story for an explanation on how I now overcome the challenge of tackling Person Accounts for the timeline Lightning Web Component. Thanks Charles!

I‘ve been developing an open source lightning web component. If you’ve been on the journey with me you’ll know that performance and scale were key considerations. If you haven’t been following you can catch up here.

This blog tells the story of how Person Accounts forced a change in the design in how many database operations I had to do.

The Requirement and Original Solution

The original requirement seemed simple — show an interactive timeline for Accounts and Contacts and allow an administrator to decide which child records to plot by specifying their object name and relationship. …

The underlying architecture for detecting threats, taking action and monitoring your Salesforce implementation

Image for post
Image for post
Photo by Niv Singer on Unsplash

Monitoring can be defined as the ability to keep activity within your Salesforce implementations under systematic review over a period of time.

Salesforce provides a number of services to provide this systematic review as part of their base licence, including, but not limited to

There are capability gaps with the above however that may be important to your security posture and BAU operations. Some of these can be highlighted as:

  • How do I know who has viewed a record? …

A practical guide to creating an eye-catching, concise document to help you land your next Salesforce role

Image for post
Image for post
Photo by Dustin Lee on Unsplash

Résumés seem to be trapped in a status quo. There seems to be a recurring format handed down from generation to generation that focuses, quite madly, on repetitive career summaries over 10+ pages of tiny, uninspiring, font.

Well at least that’s my experience after using a résumé template my dad gave me 20 years ago.

I believed at the time that my résumé should not be rocking any boats — be predictable — be all business and definitely not fun.

Looking back it’s amazing that I was ever offered a job.

When my career progressed to conducting interviews myself I realised how deeply entrenched a 10+ page monolithic career summary was. …

4 things I learned creating an interactive timeline component for the Salesforce platform using third party JS libraries

It’s been 10 weeks since my first article. In that time we’ve discussed taking an idea for an interactive timeline through to UI design and finally a technical design for performance and scale.

This is a sample of what I built.

Image for post
Image for post
An interactive timeline for the Salesforce platform

This is what I learned.

1 — Not everyone lives in Australia

I had designed a component that looked great in one locale and language — but wouldn’t be as appreciated in any other country that didn’t speak English or have their dates formatted as dd mm yyyy. This oversight would limit its reusability and usefulness for global customers.

There are 2 things that helped me change…

Everyone wants their components to be fast. But not everyone understands why they’re slow. Here are 4 things I learned designing a new timeline component

Image for post
Image for post
Photo by twinsfisch on Unsplash

Designing lightning web components for the Salesforce platform requires you to understand factors that can directly impact performance and scale. They manifest themselves in slow running pages and interactions. In a previous post we looked at usability and maintainability. Let’s take a look at designing for performance and scale.

The ability to cope and perform well under increased, or expanding workload.

For the sake of brevity I won’t be covering the depth of this topic that is better covered elsewhere. Instead I’ll focus on applying good design to a timeline lightning web component I want to develop. …

How I used Sketch to prototype a new timeline lightning web component for usability and maintainability

Image for post
Image for post
Photo by Med Badr Chemmaoui

Salesforce designs its components to be consistent by applying a design pattern called Lightning Design System (LDS). LDS consists of brand and product design guidelines, design patterns and component blueprints for creating a unified UI in the Salesforce ecosystem. Unless you want your new component to stick out like a frankensteins monster on Salesforce branded pages it’s a good idea to be familiar with it.

In my previous post we discussed the research needed to ensure that your idea for a web component addresses key pain points. In my experience this is when people start writing code….if …


Dave Norris

Cloud architect || Problem solver || Interested in solving unique challenges using different cloud service providers || All opinions are mine.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store