Recently a teammate pinged me urgently to help out with a tough situation. He was about to deliver a presentation that included a carefully configured demo record (and related data) in Dynamics 365. There were several cooks in the kitchen helping test the environment to make sure everything looked good…then something happened.
Often, when configuring in a demo environment, we don’t use ALM practices, soft deletes, or security role authorization. It’s not real data and we can easily tailor the data to align to a specific scenario. Normally this is great, but it’s not great when someone accidentally deletes this carefully constructed “Hero” record, along with the related data.
Since my coworker was about 30 minutes away from presenting there wasn’t enough time to restore from a backup. Our best course of action was to rebuilt based on screenshots he had as a fallback…stressful! We got a good-enough record built out in time (but it wasn’t nearly as robust…we had actual activity built up over multiple weeks to tell the story). A somewhat happy ending.
In our debrief, I mentioned a design for a solution. A simple set of configurations to guard against this kind of thing happening for key records in the environment. Over the years I’ve talked with several folks about this concept when swapping stories in similar situations. This one was the last straw.
So I configured the solution: Hero Guard
After installing, it takes only a few seconds to add Guard for the Hero record they’re going to protect.
I’m not interested in monetizing this solution. This is for the good of the Dynamics 365 and Power Platform community. Your demo/training/test data should be guarded! As the community continues to embrace Makers (a.k.a. citizen developers), now is an ideal time to release it into the wild. Find it at https://github.com/mathyousee/Hero-Guard
The project is open-source on GitHub, with both the managed and unmanaged solutions available. Version 1 works with Dynamics 365 Customer Engagement environments. The next step is to release a Power Platform version which doesn’t require any sales/service entities.
If you have other ideas for the solution or want to give feedback, please do so through the project on GitHub.
When you’re building an app in the Common Data Service for Apps, how do you keep it secure?
I was digging around for answers to a customer question on the docs.com site when I ran across something that made me stop in my tracks. If you’re planning on making a model-driven PowerApp, you should pay attention.
Microsoft offers a minimum privilege security role that you can import to your environment and build upon for your app.
You might be wondering: Why should I leverage this when making an app?
PowerApps harness the world-class identity management and security provided through Azure & Office 365, while offering it though an easy to configure and deploy interface for your own app. If you’re an app maker, you don’t need to understand the mechanics of managing database security, tracking activity, and offering single-sign-on to users. The PowerApps platform, backed by the Common Data Service for Apps takes care of the heavy lifting for you.
The part you’re responsible for is to set up security definitions based on what you want your app to do. This is where the minimum privilege security role makes life easy. It’s a starting point with all of the basic level permissions that let a user log into an app, navigate, and use core actions and capabilities that are shared across apps.
From there, you add incremental privileges to a copy of that. For instance, a standard user may only be able to see and modify their own records, while a manager may be able to see and modify the records of everyone on the team.
Previous methods have existed to do this same thing, the most common two being:
The first one is the approach I’ve preferred in the past, but it takes extra work to make sure you remove every little dependency to the Sales app. Suppose you want to deploy to an environment where Sales isn’t deployed.
The second app is less and less viable as the Common Data Service and PowerApps platform stand more on their own, separate from the 1st party apps. Frankly, unless a user is going to leverage capabilities that are part of the 1st party apps it’s tough to assume users will be assigned one of the out of the box security roles. Are you willing to make that assumption?
I was having a discussion with a colleague about a community project we’re working on to build out some capabilities to extend the Health Accelerator. He was asking why we’d include security roles with our solution, since customers can tailor security for their deployment anyway.
The discussion we got into was on driving a quicker and easier deployment of the solution. Sure, an administrator (or partner) could analyze the specific needs for their deployment and tailor roles…in fact, they still can. But what about the customer that wants to install and get going right away?
By having these predefined security roles, customers can install and test the solution with minimal up-front work–without impacting their ability to tailor later. These predefined roles also serve as a template for basic user types (like those of the Dynamics 365 1st party apps like Sales, Service, etc.).
If you’ve read this far, it’s time to get hands-on.
Your first question might be “what is docs.com?” and that’s fair. You may have heard of docs.microsoft.com, which is what it redirects to (or maybe you already figured that out by typing it in your own browser…).
Over the course of the last year (?) Microsoft has made a very notable push to consolidate their public-facing documentation all to the docs.microsoft.com site–and I love it! These are the top reasons I’m a big fan.
Part of good reference documentation is that it isn’t radically different from one product to the next–especially in the case of the Microsoft clouds of Azure, Business Applications, and Office 365 where the products are engineered to work with each other. Having consistency across these helps connect that experience. A few places this is evident includes:
It seems to me like there’s been a significant effort to make this site SEO-friendly (SEO-focused?). I get high-ranking hits of this documentation using the major search providers–which is great considering how fresh much of the content is.
Within the site, the outline (navigation) for each item includes search (if you’re trying to find something within this logical area, with the top-level search just a click away.
This same documentation used to be scattered around a bunch of product specific pages, TechNet articles, MSDN, product manuals, separate roadmap sites, “official” community sites (and probably more).
Now it doesn’t take heroic efforts to track this stuff down. Resources for end users, admins, IT pros, and developers are all here–which is especially great since so many people who would go looking for this don’t fall neatly into just one of those buckets. A huge amount of content is out there already, with some still pointing to old articles (that are being ported and retired).
Every page has the date stamp right at the top of the page, giving a quick heads up as to how fresh the content is or when it may have last been reviewed. In this same area it calls out the people who have contributed to writing the page as well, which for some reason just feels good to remember there are real human beings behind the updates 🙂
I also find it interesting that all of the documentation is written in Markdown and maintained on GitHub repositories. It’s very open to be able to see edit history, publishing over time, and all sorts of other stuff out there.
It’s not often that Microsoft holds a webinar where they cover so many upcoming Microsoft Dynamics 365 features that are in preview (unless it is shown under the cover of a nondisclosure agreement). But in late June, it was like Dynamics Festivus came early.
There were many exciting details shared during the June “Executive Briefing” from Microsoft…but it also left some questions.
With the upcoming release of Dynamics 365 (9.0) there will be two different flavors of Dynamics 365
(If you’re using Dynamics 365 today–July 2017–you have Enterprise Edition)
Okay, that might not seem like that big of a deal, so allow me to elaborate. The Business Edition will be released with a greatly improved user experience (called the “unified client”) for web, phone, and tablet which comes with a grip of improvements over the current experience. There are many more features that will be available for Business Edition customers when it is released.
If you’re on Enterprise Edition today, you can’t just switch to Business Edition. This means that some new features will be immediately available to Enterprise Edition clients (including notable things like the unified client.
You might not want to anyway (even if it were allowed) because there will be some limits imposed in the Business Edition. Things like a limit of the total number of Users, Account records, and custom entities (with specific details to come).
The custom entity limit is a bit misleading, though, since it appears that the entities in apps available through AppSource will not count against this total. Effectively, this message is to look for a chance to buy an app instead of rolling-your-own when it comes to meeting your requirements.
If you’re an existing Enterprise Edition client…there’s a pretty good possibility the answer is “no”. Plenty of clients may have a low number of users, but the record limits and custom entity limits will likely cut down the number of people who would even be able to consider the change. Not to mention that it would be a separate instance of Dynamics that would need to be configured and have data migrated to it.
Instead, I think most Enterprise Edition customers should look forward to getting features as they’re made available (and keep your eyes and ears open for the Private and Public Previews that Microsoft mentioned).
If you’re still considering the Dynamics platform–then the Business Edition will have a lot to offer as you get rolling (and an upgrade path to Enterprise in the future).
Are you considering Dynamics 365 Business Edition in your organization? Share what you’re most excited about in the comments!
OneNote has been around for well over a decade…are you using it to its fullest? Joel Lindstrom picks Matthew C. Anderson’s brain on some ways to manage your OneNote notebooks.
How do you take care of some email now…without getting an immediate (and unexpected) response? Joel and Matt talk about living in the future.
After discussing Search Folders in a recent episode of ProdCast, Joel pinged me after the episode asking me about some more advanced search options. Specifically, he wanted to create a search folder with a little more complex logic behind it (like using AND or OR for several potential criteria).
Microsoft does support this without any extra add-ins, it’s a feature called Outlook QueryBuilder, but it’s not very obvious how to turn it on. In fact, it’s hidden and is enabled by adding a key to the Windows registry. I wasn’t able to find a video on creating this key, so in an attempt to give back I present the following brief how-to.
As a word of caution, editing the registry does carry some risk with it. In case you’re not familiar, the registry is where a lot of critical details are stored that makes Windows (and your installed software) work as you would expect it to. Making edits can have unintended consequences. That said, the update in this video is pretty safe, but always be careful whenever you go into the registry 🙂
How do you make sure that you can find those important emails sometime again in the future? Join Joel and Matt as they talk about search folders and more.
On the most recent episode of the ProdCast: The Personal Productivity Podcast, Joel Lindstrom and I talked about Search Folders as part of a strategy for dealing with the deluge of email.
In case you haven’t already listened to the episode, I was talking about setting up special folders inside of Outlook 2016 (or 2013) that look through your whole mailbox for a match (even if it’s in a sub-folder, or sent items, or wherever). In simple terms: a search folder is a saved search that saves you time by storing several search terms, allowing you to find matching emails in just one-click.
Joel asked me if the Search Folder could focus that search to look inside of just one specific folder (e.g. “only mail in your inbox” and not any other folders). The answer is yes…but after recording the episode, I felt like I made it sound over-complicated to set up a search folder that only searches through a certain set of folders. I whipped up the following video to show just how easy it is!
If you’re not familiar with ProdCast, it is a podcast about personal productivity, getting more done with the time you have, avoiding procrastination, and being more efficient. We separate the hype from productivity tools and talk about ways to use your email and task list to become more productive. If you’re interested you can subscribe on iTunes.
When someone catches a glimpse of my email inbox, they usually make a comment about how few emails are there. Co-workers especially, since they have an appreciation for how much email we get in an average day–and they know that I do in fact respond to emails. Just a little over five years ago, the concept of inbox zero, having literally no email in your inbox, seemed like complete fantasy.
In my work inbox alone I was getting 200-300 emails every work day–with about half of them ending with some sort of to-do item or request from me. The sound of an email arriving on my iPhone 3GS (back before you could set your own sound) actually made me physically cringe. It seemed like all I could do was fight through it to make sure that the “important” emails didn’t slip through the cracks. This was a battle that I was not winning.
To put some numbers to this–an average of 30 seconds per email (including responses, if needed), that would be up to 2.5 solid hours per day just dealing with email. That doesn’t include any of the research or real work that needed to be done.
It was with that realization that I started a journey to see what was in my control to try solving the problem. That’s when I found an article about Inbox Zero.
I didn’t actually save the that first article I read, but I very badly wanted that better future where I wasn’t drowning in email. I tried really hard to follow the advice to set up filters, automate similar replies, and identify the appropriate action for emails. There were still a lot of important emails coming in that demanded my attention.
I had become more efficient with processing email–but the speed and volume of email wouldn’t let me get to inbox zero. I didn’t have a chance as long as the circumstances stayed out of balance.
Before you say, “hey Matt that’s great and all, but I can’t change how fast email is coming in” just give me a chance to explain what I mean.
By analyzing my email (through a categorization exercise that initially added to my email time) I found that there were a few categories that stuck out to me:
Depending on the day, up to 1/3 of my email fell into one of these two categories. That’s up to 100 emails a day! What seemed especially notable was that both of these are areas where I might be able to cut down the amount of these emails. I did! I won’t sugar-coat it–this isn’t an easy process, but it was a total game changer that made inbox zero within reach.
The method I used was to work with people to reset expectations with people that were sending me email requests. Setting expectations is so important in life, even with things like how you communicate through email. Doing this virtually eliminated this type of email–saving me an average of nearly an hour every single day.
By slowing the flow of email and using techniques to efficiently process email, I have been able to get my inbox nice and tidy. But here’s the thing–it’s not always at zero emails. It’s usually between one and 20 emails, but sometimes it rises above that level.
An important part of inbox zero for me is recognizing that I don’t need to fret about whether I literally have zero things in my inbox. There will always be another email that comes in, sometime, whether it’s in 3 seconds or 3 hours, it’s coming and it’s completely outside of my control.
Focusing my energy on the things I can control is a core part of how I manage my time. This isn’t a new concept, but it’s one that I regularly remind myself of, and an important practice to keep in mind with respect to inbox zero.
I very much can control how deliberate I am when processing my email. I don’t let myself go into my inbox constantly looking for new email. In fact, I turn notifications off for a lot of the day. Even 2-3 seconds spent looking at a new email alert has an additional cost of 5-6 more seconds as my mind darts to another couple of related thoughts before I refocus on my active task. 8 seconds per email for 150 emails is nearly 20 minutes daily. Instead, I let it pile up for an hour or two, then I process email and take-no-prisoners in dealing with the new pile-up in my inbox.
I was in an extreme situation with how much email I was getting, as well as the supposed importance of those emails. There were certainly other factors that added to the stress, but my email dilemma weighed heavily on my daily life both at work and outside of work. Embracing the inbox zero mindset was a total gamechanger once I learned to reduce the flow of email, set expectations, and focus how I deal with email.
Are you drowning in email? Have you tried something like this before (and what worked for you)? Is something getting in your way? Share your experience in the comments.