Author Archives: Tori Pazda

The Easy Way to Clean Your Nintex Workflow History List

Nintex workflow history list

Nintex Workflow is a fantastic tool that can help streamline numerous processes and solve a variety of business needs.

One caveat to the heavy use of Nintex in an On-Premises SharePoint environment is that the more it is used, the faster each Nintex Workflow History list fills up.

Nintex gives you a couple ways out of the box to purge these lists:

  1. Use NWAdmin.exe and its respective “PurgeHistoryListData” command to clear the list.
  2. Use the GUI available to you within Central Admin.

However, when these lists get too big (30, 40 or 50,000 records), these methods often fail. If they do not fail, they can take hours and sometimes days to complete. In the meantime, your Nintex Workflow History list is inaccessible and cannot be used to parse logs.

This is where the SharePoint REST API can help you. Let’s dive into the details so you can easily clean your history list.

Prepping Your Browser

I find that the easiest way to take care of this issue is by using Chrome and the Developer Console to use a couple of functions that assist in removing the history records. The scripts that will be posted below require jQuery to run. Not all SharePoint environments/pages will have jQuery readily available, but we can load jQuery into the page we’re using right through the console. To do so, open your Chrome developer console (F12 key) and select “Console” as shown below.

var jq = document.createElement(‘script’);

jq.src = “https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js”;

document.getElementsByTagName(‘head’)[0].appendChild(jq);

Next, we can inject jQuery into the current window by copying and pasting the following code into the console and hitting Enter. At this point, jQuery should now be available for use in our current window.

Purge Functions

Next, we can look into the functions that will be assisting us in purging these lists. There are two main functions, deleteOldHistory and an ajax call that will run in conjunction with the first function. I will put these two functions below and we can discuss them.

Ajax Function

$.ajax({
url: _spPageContextInfo.webAbsoluteUrl + “/_api/Web/Lists/GetByTitle(‘NintexWorkflowHistory’)/Items?$top=5000”,
type: “GET”,
cache: true,
contentType: “application/json;odata=verbose”,
headers: {
“accept”: “application/json;odata=verbose”,
},
success: function(result) {
var results = result.d.results;
var count = 0;
for(var i = 0; i < results.length; i++){
var lastModified = new Date(results[i].Modified);
var todaysDate = new Date(‘2018-01-01T20:51:31Z’);
if(lastModified < todaysDate){
deleteOldHistory(results[i].ID);
}
}
},
error: function (error) {
console.log(JSON.stringify(error));
}
});

Delete Old History Function

function deleteOldHistory(id){
$.ajax({
url: _spPageContextInfo.webAbsoluteUrl + “/_api/Web/Lists/GetByTitle(‘NintexWorkflowHistory’)/Items(“+id+”)”,
type: “POST”,
headers: {
“ACCEPT”: “application/json;odata=verbose”,
“content-type”: “application/json;odata=verbose”,
“X-RequestDigest”: $(“#__REQUESTDIGEST”).val(),
“IF-MATCH”: “*”,
“X-HTTP-Method”: “DELETE”
},
success: function (data) {
console.log(‘deleted’);
},
error: function (error) {
console.log(JSON.stringify(error));
}
});
}

To start, we will want to add the deleteOldHistory function in the Chrome console first as the ajax call requires this function to work. This function is essentially being fed list item IDs from the history list that it will use to delete each item.

Next, the ajax call is the most important part. There is one main variable that we want to pay attention to and edit per your need, todaysDate. The todaysDate variable defines the date in which you want to delete records up until. So if you wanted to delete all records currently present but preserve records that are newer than 09/18 then todaysDate would be set to ‘2018-09-18T00:00:00Z’.

This means that the Nintex Workflow History List would be purged of all records that have a modified date less than that of the 9/18 date. As a side note, you will notice that the query uses the query property $top=5000. In this case, the script deletes records in batches of 5000 and will most likely need to be run multiple times to clear the list completely. However, instead of taking 6+ hours per batch of 5000 it should only take about 2-5 minutes. Simply execute the same ajax command in the Chrome console until you’ve removed all desired records.

Checking the Current History List Count

Unlike other lists in SharePoint, the Nintex Workflow History List doesn’t give a readily available count of all the items it currently has. While still utilizing the Chrome console you can run a quick ajax query (as shown below) to pull back the current count of items. This will give you a good idea of how many records are left and how many more you have to delete.

Check History List Count

$.ajax({
url: _spPageContextInfo.webAbsoluteUrl + “/_api/Web/Lists/GetByTitle(‘NintexWorkflowHistory’)/ItemCount”,
type: “GET”,
cache: true,
contentType: “application/json;odata=verbose”,
headers: {
“accept”: “application/json;odata=verbose”,
},
success: function(result) {
console.log(result.d.ItemCount);
},
error: function (error) {
console.log(JSON.stringify(error));
}
});

From here, you should be finished, and your workflow history list will be clean. And hopefully, this helps you save some time on this administrative task. As a side note, it is still a good idea to purge records from SQL as per Nintex’s recommendation. This process can be found here.

Read Next: Enhancing Nintex Forms with Javascript


Highlights and Observations from SPTechCon 2018

Boston’s SPTechCon for 2018 wrapped up after a flurry of activities over a 4-day event. I wanted to give a shout out to the folks that put on this event for the hard work that goes into planning and execution. A heartfelt thank you goes out to the excellent crop of speakers and vendors that put their experience, knowledge, and opinions into presentation form to help all of us in the community. Without these folks, the conference and this community would not be possible.

The Timlin Enterprises team and I had a great time at the conference this year. Here are some recurring themes and observations I would like to share based on my conversations with speakers and attendees.

SharePoint is Still Going Strong!

Although we all want to talk about Office 365 and the absolute abundance of features being offered, we cannot overlook the needs of a large number of organizations that are running SharePoint 2013.

The community and conference tailor a lot of presentations to Office 365 and cloud capabilities, however, many customers are unable to take advantage of these features since they haven’t made the investment yet.

Minimal Talk about SharePoint 2016

I didn’t talk to a single person about SharePoint 2016 during SPTechCon. This also coincides with our experience in our day-to-day consulting. It appears that organizations fall into several camps:

  1. Smaller, nimble, able to head to Office 365 without as much technical baggage to contend with. They moved to Office 365 quickly.
  2. Larger, cloud-first initiatives and chose not to upgrade on premises anymore. They’ve moved to Office 365.
  3. New players to the SharePoint world who are too small to even have SharePoint previously because of the costs. They chose to go directly to the cloud and not on-premise.
  4. Too large to migrate in all and are leveraging a slower methodology. They want to migrate. These organizations appear to be in the thick of trying it or have some elements in the cloud already.
  5. Cloud-timid organizations that are very cautious about moving their data to Office 365. These are organizations usually in Financial Services, Government, or similar industries. Their employees seem to be somewhat frustrated by falling behind in digital capabilities.

Even with a huge cloud focus, I still would have expected a couple more SharePoint 2016 or planned 2019 upgrades to show themselves. I truly hope these folks find a path forward; the features have really improved over the last six years and will continue to build upon a whole modern set of tools they have no access to use.

The Third-Party Application Market Continues to Thrive

During the initial transition to Office 365, there was some trepidation and lack of direction for how the classic SharePoint product companies would react. A lot of small, independent products popped up to see what would stick, and the larger organizations needed to adapt or become obsolete, like the Blockbusters of the world.

I love times of major change, even when it negatively impacts us in the short term. It forces the market to think, retool, and make their offerings better. It also provides new opportunities for smaller players to get their ideas into the market. Some absolutely great products have emerged based on the massive use of Office 365, and they continue to gather momentum.

Big Demand and Challenges for Constant Feature Releases in Office 365

There are big demand and challenges for the constant features being announced and released in Office 365.  Folks have a difficult time knowing which features are out there, when they are being released, and how to plan and provide them for their end users in a deliberate and supportive way.

We had a LOT of conversations about these topics. It should be a concern for organizational leadership because digital transformation efforts are very difficult to nurture when end users are unable to receive the support they need to understand and use these tools effectively.

Based on discussions with our customers, folks attending the conference, and constantly watching the landscape, I believe our community (and our business here at Timlin) will be spending most of its time over the next few years addressing these demands and challenges.

Organizations are Focused on User Adoption and Engagement

One theme throughout the conference was the focus on user adoption and employee engagement.  We heard it directly from Naomi Moneypenny of Microsoft during her keynote on Tuesday.   It was also the theme or subject of a number of the educational sessions. Microsoft has developed tools and features in Office 365 to a maturity level that the challenge is no longer technical in nature, but rather it is all about the user.

In a study provided by AIIM, 67 % of respondents indicated inadequate user training was the number one reason that their SharePoint deployment was not deemed a success. This completely coincides with what we are seeing from our customers, and why we have shifted from a technical-based approach to one entirely focused on the users.   If you build it they will come is just not going to work.  It is always good to get confirmation that what we are seeing in the Office 365 marketplace is the same as what others are now talking about.

Again, thank you to the SPTechCon event organizers for another great year. We had a great time chatting with the speakers and attendees during our sessions and on the floor at our booth. In case you missed it, you can download the slides from my and Ian Dicker’s sessions below.

And if you’re interested in learning more about our Office 365 and SharePoint Center of Excellence approach, you can download our free white paper here.

Azure Automation – How to Automate Secure Score Metrics

Secure Score metrics are an important guideline used to ensure security and performance across your Office 365 tenant. Secure Score analyzes your Office 365 organization’s security based on your regular activities and security settings and assigns a score. Think of it as a credit score for security.

A few tasks in the Secure Score toolbox are repeated tasks of reviewing certain logs within Office 365 and Azure. These tasks are typically repeated on a weekly or monthly basis. In this article, we will discuss how to automate a couple of these review tasks. By the end of this article, you should have a good understanding of how Azure Automation is used and how you can continue to use it to help streamline your Secure Score efforts.

Creating an Automation Application

Our first step in the process is to create an Azure Automation application.

Navigate to your Azure portal (https://portal.azure.com), click on “Create a resource”, search for “Automation” and click on “Create”.

Please note that provisioning a Microsoft Bot, Azure Active Directory Application, App Service, and other Azure resources will result in associated costs. In order to fully understand the associated costs that may incur from following this guide, please refer to the Azure Pricing Calculator which can be found here.

In the configuration menu, give the Automation Account a Name, select the appropriate Subscription based on your tenant, select “Create New” or “Use Existing” Resource group, and then select the appropriate Location. The last option to “Create Azure Run As account” is not necessary in this guide but is something you may want to utilize in the future, so we can leave this set to “Yes”. This account can be used to automate Azure specific functions. These are functions that you can run within the Azure CLI (not functions such as Exchange/MSOL commands). When finished, click on “Create” to create all the required resources.

When all resources have finished provisioning, click on the “Go To Resource” button in the notifications area to go to our new Automation resource or search for it in your resources list.

Once there, navigate to “Runbooks” in the “Process Automation” section.

By default, these resources are provisioned with example runbooks. The runbooks here are using the various methods of creating an automated function such as Python, PowerShell, and the Graphical Interface provided by Microsoft. We can ignore all of these examples, but feel free to look at them later on as they provide a good insight into everything we can do with Azure Automation.

Creating Our Runbook

While still in the Runbook section, click on the “Add Runbook” button.

In the new menu that appears, click on “Quick Create”. You will need to fill in two values here: the Name of the runbook and the platform or Runbook Type in which we will build it. Type in the name of the runbook that you would like, and select PowerShell as the Runbook type.

Before we jump into the code of the runbook, we need to set up the credentials that we will use for automation. The account that we use will need to be an Exchange Administrator, have the Discovery Management role in Exchange, and not have MFA configured on the account (unfortunately, there is no way to handle this automation on an account with MFA just yet, but this may change in the future). We recommend provisioning an Azure Service Account that you can use for this functionality. This will ensure that you don’t have an overly provisioned account that is currently being used for other things in your tenant.

In the Automation Resource section, scroll down to the Shared Resources section and click on “Credentials”.

Once there, click on “Add a Credential” and fill in all of the required fields. The name of this can be whatever you’d like it to be. This will be used to reference this set of credentials within the code. The username and password should be one with the roles defined above and should follow standard login standards for Office 365 such as joesmith@contoso.com.

Coding our Azure Automation Runbook

Navigate back to the runbook you created earlier.

Once there, click on the “Edit” button to edit the code within.

Our first step is to grab the set of credentials we stored in our application earlier. To do so, use the dropdown on the left-hand side for “Assets”, click on “Credentials”, and you should see the credential object you created.

Use the … menu to “Add to Canvas”. This should then give you the PowerShell needed to pull the Credential object. We will also store this as a variable as shown below.

In this article, we will be covering how to automate two Review processes in the Secure Score toolbox. These are mailbox auditing and mailbox forwarding rules. Mailbox auditing needs to be automated as it will only affect users currently in your system. Any users added after this command is run will not have Mailbox Auditing enabled and therefore you will receive no points on Secure Score. The review of Mailbox Forwarding rules is something done weekly, and with this process automated you should always receive the Secure Score points for this task. We will first need to connect our runbook to the necessary areas of Office 365. These will be the ExchangeOnline and MsolService connect prompts. I will be posting the remainder of the code required for this runbook below and will break down what each piece is doing afterwards.

      #Connect to Azure Automation
      $Credentials = Get-AutomationPSCredential -Name ‘AutomationCredentialsSecureScore’
      #Connect-MsolService -Credential $Credentials

# Function: Connect to Exchange Online
function Connect-ExchangeOnline {
param(
$Creds
)
Write-Output “Connecting to Exchange Online”
Get-PSSession | Remove-PSSession
$Session= New-PSSession –ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/-Credential $Creds-Authentication Basic -AllowRedirection
$Commands= @(“Get-MailboxFolderPermission”,”Get-MailboxPermission”,”Get-InboxRule”,”Set-MailboxFolderPermission”,”Set-Mailbox”,”Get-Mailbox”,”Set-CalendarProcessing”,”Add-DistributionGroupMember”)
Import-PSSession -Session $Session -DisableNameChecking:$true -AllowClobber:$true -CommandName $Commands | Out-Null
}
# Connect to Exchange Online
Connect-ExchangeOnline -Creds $Credentials
Connect-MsolService -Credential $Credentials
# Enable Mailbox Audit for All Users
Write-Output “Enable Mailbox Audit for all Users”
$mailboxesSetToEnabled = Get-Mailbox -Filter {RecipientTypeDetails -eq “UserMailbox” -and AuditEnabled -eq $False}
Get-Mailbox -Filter {RecipientTypeDetails -eq “UserMailbox” -and AuditEnabled -eq $False} | Set-Mailbox -AuditEnabled $True
# Set AuditLogAgeLimit to 1 year
Write-Output “Set Mailbox Audit Log Age Limit for all Users”
Get-Mailbox -Filter {RecipientTypeDetails -eq “UserMailbox”} | Set-Mailbox -AuditLogAgeLimit 365
#Get Forwarding Rules
$allUsers = @()
$AllUsers = Get-MsolUser -All -EnabledFilter EnabledOnly | select ObjectID, UserPrincipalName, FirstName, LastName, StrongAuthenticationRequirements, StsRefreshTokensValidFrom, StrongPasswordRequired, LastPasswordChangeTimestamp | Where-Object {($_.UserPrincipalName -notlike “*#EXT#*”)}
$UserInboxRules = @()
$UserDelegates = @()
foreach ($User in $allUsers)
{
Write-Host “Checking inbox rules and delegates for user: ” $User.UserPrincipalName;
$UserInboxRules+= Get-InboxRule -Mailbox $User.UserPrincipalname | Select Name, Description, Enabled, Priority, ForwardTo, ForwardAsAttachmentTo, RedirectTo, DeleteMessage | Where-Object {($_.ForwardTo -ne $null)-or ($_.ForwardAsAttachmentTo -ne $null)-or ($_.RedirectsTo -ne $null)}
$UserDelegates+= Get-MailboxPermission -Identity $User.UserPrincipalName | Where-Object {($_.IsInherited -ne “True”)-and ($_.User -notlike “*SELF*”)}
}
$SMTPForwarding = Get-Mailbox -ResultSize Unlimited | select DisplayName,ForwardingAddress,ForwardingSMTPAddress,DeliverToMailboxandForward | where {$_.ForwardingSMTPAddress -ne $null}
$UserInboxRules | Export-Csv MailForwardingRulesToExternalDomains.csv
$UserDelegates | Export-Csv MailboxDelegatePermissions.csv
$SMTPForwarding | Export-Csv Mailboxsmtpforwarding.csv
$timeStamp = (Get-Date -Format g)
$timeStamp = $timeStamp -replace ” “, “-“
$timeStamp = $timeStamp -replace “/”, “-“
$timeStamp = $timeStamp -replace “:”, “-“
$UserInboxRuleFile = New-Item -Path . -Name “UserInboxRules$timeStamp.csv” -ItemType “file” -Value $UserInboxRules
$UserDelegatesFile = New-Item -Path . -Name “UserDelegates$timeStamp.csv” -ItemType “file” -Value $UserDelegates
$SMTPFile = New-Item -Path . -Name “SMTPForwarding$timeStamp.csv” -ItemType “file” -Value $SMTPForwarding
Write-Output “Sending email”
$ToAddress = ‘joesmith@contoso.com’
$FromAddress = ‘joesmith@contoso.com’
$smtpserver = ‘smtp.office365.com’
$smtpPort = ‘587’
$Files = @(
$UserInboxRuleFile
$UserDelegatesFile
$SMTPFile
)
$mailparam = @{
To = $ToAddress
From=$FromAddress
Subject = “Azure Automated Reporting – Mailbox Forward and Auditing”
Body = “<p>Attached you will find the User Inbox Rules, Delegates and SMTP Forwarding Setup review files. </br>In addition, here are the accounts we have enabled Mailbox Auditing on this week that did not previously have it enabled (if empty, all users currently had Mailbox Auditing configured):<p></br>$mailboxesSetToEnabled”
SmtpServer = $smtpserver
Port = $smtpPort
Credential = $Credentials
}
$Files | Send-MailMessage @mailparam -UseSsl -BodyAsHtml
# Close Session
Get-PSSession | Remove-PSSession
Write-Output “Script Completed!”

The first function exists to connect to Exchange Online Management via PowerShell. As we are looking to take care of the Mailbox Auditing as well as Mailbox Forwarding, we give it the commands you see in the $Commands array. We specify the commands for performance reasons as there is no reason to load every single Exchange Admin command here. The next few lines utilize this function as well as the standard Connect-MsolService command to connect to both services using the credentials object we grabbed earlier. Once connected, we first take care of mailbox auditing.

The code between lines 22 and 29 are set up to take care of Mailbox Auditing. These lines will loop through all users in the tenant that do not currently have Mailbox Auditing configured and setup auditing on them with a time frame of 365 days.

Next, we take care of compiling all forwarding rules that are reviewed within Secure Score. Lines 31 to 47 take care of this task and store all User Inbox Rules, User Delegates and SMTP Forwarding rules inside variables we use next. Lines 49 to 87 serve the primary purpose of reporting. These lines are set up to utilize the Send-MailMessage function to send out an email to whomever you specify (group or single user) for them to review everything this script has done. The content of the email will be all users (if any) that now have Mailbox Auditing configured that did not have it before. In addition, it will send three attachments which are the output of all User Inbox Rules, User Delegates and SMTP Forwarding we stored earlier. Once the code has been implemented, publish the current revision and we are ready to set up our schedule for this runbook.

Scheduling our Runbook

Navigate to the overview of the current runbook we have been working on. Scroll down to the “Resources” section and click on “Schedules”. From here, click on “Add a schedule” to implement a schedule for this runbook.

Once here, click on “Link a schedule to your runbook”, then on “Create a new schedule” and finally fill in all required fields. We will want this runbook to run weekly, so set up a time in the future that you’d like to start the schedule on, select “Recurring” and have it repeat once each week on the day of your choosing. For the foreseeable future, we won’t want this expire so leave the “Set expiration” option to “No”.

Once this has been completed, the setup of your Azure Automation resource and its runbook will run once a week, take care of a couple of your Secure Score review tasks automatically, and email your administration the report for review.

 

An Alternative Approach: How to Achieve Success with an Office 365 Center of Excellence

The future is digital. Every company, irrespective of industry, is, or will soon be, thinking and operating like a digital company, re-engineering operations to support the new speed of business. If you’ve invested in Office 365, you have the capability to execute your own digital transformation. Enabling and sustaining that capability, however, can be challenging for even the largest organizations.  

Just maintaining deep knowledge on the entire platform and understanding the implications of each tool and every enhancement on your environment alone can be daunting. It’s why taking the “if you build it they will come” approach to Office 365 is simply destined for failure.

That’s why we developed an alternative, managed approach – the Office 365 Center of Excellence. We approach digital transformation as a process, instead of a project. Our proven methodology is made up of six pillars which we’ll explore in this blog post and will show how you can achieve the maximum success of your Office 365 investment with a Center of Excellence approach.

What is a Center of Excellence?

The Center of Excellence is a proven process methodology that provides solutions beyond standard managed services by utilizing six services areas to improve and execute on digital transformation in Office 365 and SharePoint. Through this process, Office 365 becomes an extremely powerful business productivity solution that if used and supported correctly, can greatly improve innovation, deliver business value, protect your internal and external data, decrease reliance on email, and further empower your employees.  

 

Six Pillars of a Successful Office 365 Center of Excellence

The power of the Center of Excellence (CoE) comes from combining the right skills, activities, and commitment and focusing them on your organization’s goals. There are six service areas that require focus for a successful Office 365 CoE, and communication is their underlying foundation. Let’s take a look at each service area:

  • Strategy
    Strategy is critical to success because it forces your organization to define what you need instead of expecting the technology to solve problems that have not been thoroughly defined. Strategic efforts focus heavily on asking stakeholders what problems must be solved and defining the value derived by meeting the goals. Developing a strategy first allows you to measure success in a tangible way to ensure you meet your objectives. In addition, when employees understand why they are being asked to do something, they generally respond more favorably when they know the vision of the project.
  • Governance
    Governance takes Strategy down to the service level. Governance efforts define usage policies, guidelines, and rules for your solutions. A successful plan leverages Microsoft’s best practices, demonstrates how to use different services to meet the business objectives, and ensures there is ownership of critical requirements and processes.

    Governance is critical because it requires that other parts of the business are engaged to ensure success. One of the most important aspects of governance is gaining traction with a group of stakeholders that will take ownership of the digital transformation process. And governance doesn’t stop — it requires regular meetings to discuss progress, collect feedback, and make changes to the governance plan, roadmap, and service offerings as technology and business needs change.
  • Architecture
    Architecture focuses on the technical components of leveraging Office 365, including information architecture, taxonomy, metadata, branding, user experience, best practices, technology changes, application integration, and the continuous effort to ensure that all the pieces fit together correctly for your organization.
  • Training
    Training isn’t one size fits all. It’s customized training in small doses on a regular basis in order to increase user understanding and adoption. Custom training combined with repetition increases user interaction and sends a message to the end users that your organization cares enough to ensure users have what they need to be effective.
  • Administration
    Administration components in Office 365 are different from classic on-premises platforms. The needs of patching, service packs, upgrades, and most of the routine maintenance activities are gone. However, many of those requirements have been replaced with new features and capabilities that should not be ignored. A successfully engaged administration plan will involve monitoring Microsoft messaging relating to tenant updates, changes, and outages. It’s not uncommon to see 15 or more messages per week relating to items affecting each Office 365 environment.
  • Support
    Support includes defined service level agreements based on requirements of the business. If your organization needs 24×7, one-hour response time because it’s critical to the business objectives, then this must be considered. CoE resources must have deep understanding of the platform and capabilities. While no single person understands it all, it’s imperative that your organization’s support skills align with its intended use of Office 365. With user adoption, including from your support teams, this will grow organically. While all the service areas are important, this is the area to absolutely ensure the proper resources are in place. Most customer contact, feedback, and ideas are generated through support interaction. Proper support teams will have plans to collect feedback and present this information to the governance and architecture teams to continue the circle of improvement.

The Importance of Process

The real CoE magic happens when you have the right combination of pillars driven by a defined and ongoing process, supported by the right resources for each set of activities, all of which are set with the proper cadence.

Your CoE is like a puzzle. All your components should fit together to showcase your vision with a total solution.

Without some pillars (or pieces of the puzzle), you will find there will be a hole in your process. Depending on the size of your organization, the needs and complexity of the solution will vary, but all are necessary to a certain degree.

When your entire plan is working harmoniously, it demonstrates to the organization the capability of IT to deliver on the needs of the business. This builds internal trust, while spotlighting IT as a leader and innovator in your organization, versus positioning IT as a cost center. This is key to transform your internal end users’ impressions of IT of simply providing tools and services to one where IT provides full life-cycle solutions to business problems.

A Customer-Centric Approach

The difficulty with digital transformation is that it is 100% based on people and their ability and willingness to change how they operate. When all of the pillars of the CoE are executed and maintained, user adoption will increase. As adoption increases, the entire solution becomes self-sustaining.

There is a tipping point where existing users create most of the new demand for capabilities because of their reliance on these tools. Your CoE activities drive user adoption, which in turn, support your overall transformation efforts. You should see a few of these benefits across your organization as overall user adoption grows:

  • Cultural shift from manual processes to automated technologies
  • Increased efficiency from a work processing perspective
  • Decreased reliance on email
  • Streamlined communication, searchable communication

With a Center of Excellence approach, you will begin to see an increase in user awareness, engagement, adoption, and all of the measurable and tangible benefits of true digital transformation.
 

Secure Score – Blocking Automatic Forwarding

Secure Score is a service provided by Microsoft to give administrators a guideline of how to better secure their tenant. Think of it as a credit score for Office 365. Guideline tasks can vary from reviewing audit logs to enabling MFA on all user accounts.

In this article, we will address a specific secure score metric — Enable Client Rules Forwarding Block Advanced Action. We’d like to address this specifically, as the rules that Secure Score assist you in making do not work as intended and do not cover all bases when it comes to disabling the Auto Forwarding feature in Exchange Admin.

Exchange Admin – Mail Flow / Transport Rules

When using Secure Score and looking at the Enable Client Rules Forwarding Block Advanced Action metric, you will notice that they have an option to “Apply” a rule to your Exchange Admin Center.

The rule that Microsoft creates attempts to filter messages that are received internally and block them if they have the type of “Auto-Forward” and are sent to an external organization. The purpose of this rule is to minimize the possibility of sensitive information leaving your organization (especially without you knowing it).

There are a few issues with this rule.

For one, this rule only blocks auto-forwarding if the message was sent from someone inside your organization and you auto-forward it outside. This means that someone could send your users a message from outside the tenant, and it will successfully auto-forward outside the tenant again.

To solve this issue, we need to have two rules instead of one: one that blocks auto-forwarding if the message was received internally and sent externally and one that was received externally and sent externally.

The second issue is that the rule attempts to pick up on the type of “Auto-forward”, but it does not seem to work. In this case, we found that a unique header can be used to block these messages successfully.

Filtering messages based on the “X-MS-Exchange-Generated-Message-Source” header for a result that includes “Mailbox Rules Agent” will successfully block auto-forwarded messages.

The rule above takes care of blocking messages received internally and sent externally. The following rule takes care of blocking messages received externally and sent externally.

Now that these two rules are set up, we should be successfully blocking auto-forwarding to external organizations. However, there is one more step we need to take to complete this process.

Auto-forwarding in Office Web Apps

Unfortunately, a user will still be able to successfully auto-forward messages if they set up auto-forwarding within OWA in their settings (as shown below).

The mail flow rules only filter out messages that are set up using Inbox Rules. To disable the ability to auto-forward in OWA we need to head over to the “Remote Domains” section in Exchange Admin.

 

Once there, edit the Default policy and uncheck the box for “Allow automatic forwarding”.

Save your changes, and you should be all set for blocking all automatic-forwarding to external organizations!


The Ultimate Guide to SPTechCon Boston

It’s summertime and that means the annual SPTechCon Boston conference is happening in a few weeks. The Sharepoint & Office 365 conference will be in the Bay State from August 26 – 29, 2018. The conference is a training, problem-solving, and networking event for those who are working with SharePoint, OneDrive, and Office 365. Attendees will have access to users and companies to find solutions to their current environments. In addition, attendees will have many opportunities to collaborate with other users and to discover strategies to work smarter and increase productivity within their organizations.

If you’re planning to attend SPTechCon this year, we put together this ultimate guide so you know all the details, and information, and even a couple of strategies to make the most of your experience.

SPTechCon Key Dates

Now until August 10th: Registration open – get your ticket to SPTechCon Boston here. Register using our code TIM18 to receive a discount.

August 10th: Registration Ends

August 15th: Last day to make hotel reservations at Sheraton Boston Hotel

August 26th: First Day of Conference — Tutorials & Challenges, Exhibit Hall Open and Evening Reception with Lightning talks (at 5 pm)

August 27th: Second Day of Conference — Technical Classes, Keynote by Karuana Gatimu from Microsoft, Exhibit Hall Open, Networking Reception (at 5:30 pm)

August 28th: Third Day of Conference — Technical Classes, Naomi Moneypenny from Microsoft, Exhibit Hall Open, O365 User Group Meeting (at 5:30 pm)

August 29th: Last Day of Conference — Stump the Experts (at 10 am), Interactive Panel Discussion (at 10:45 am), Technical Classes  

Exciting Programs Happening at SPTechCon Boston

Office 365 Hands-On Challenge

When: Sunday, August 26, 2018 
Description:
Join fellow members on August 26th of the collaborative Office 365 and SharePoint community in participating in a challenge to create digital collaborative solutions for Plymouth State University’s Music and Theater Department. There will be up to five teams each with a different Office 365 related challenge to solve, and each team will have an expert advisor from the SPTechCon Speakers to guide them through hurdles uncovered in the challenge. To learn more and to apply to participate in the challenge,
visit the conference website.

Communication Sites as a Real-World Example

When: Monday, August 27 at 11:30 am
Description: Ian Dicker, Director of Architecture at Timlin Enterprises will provide a real-world example of an intranet built using Communication Sites, extensions, and web parts using the SharePoint Framework. He will discuss the design challenges and how they were addressed. Add this session to your agenda here

Digital Transformation and Employee Engagement – How to Make It Happen with Office 365
When: Monday, August 27, 2018, at 3:15 pm
Description: In this session, Ryan Thomas, CEO of Timlin Enterprises, will provide specific ideas on what you can do to help your organization successfully implement features in Office 365 that result in increased user adoption and true employee engagement. User adoption is not a project and requires a disciplined, process-driven approach with the proper strategy, governance, architecture, and training components. This approach ensures you engage your employees and gain the business value of digital transformation using O365.

Ask SharePoint & Office 365 Experts Anything
When: Tuesday, August 28, 2018, from 5:30 – 7:30 pm
Description: This will be a 1:1 discussion with experts in the SharePoint community as we hold a combined SharePoint User Group meeting for the entire New England region. Speakers from the SPTechCon Conference as well as other Microsoft and MVP attendees will take your questions in an informal setting. For more details, 
visit the conference website.

Stump the Experts
When: Wednesday, August 29, 2018, at 10:00 am
Timlin Enterprises is excited to moderate this year’s Stump the Experts Panel happening on August 29th at 10 am. This will be an open discussion where you can test your knowledge or find out the answers to troubling SharePoint and Office 365 topics against some of the best. So come prepared to listen, learn some new things, and to have some fun.

How To Get The Most Out Of Your SPTechCon Experience

  • To make the most of your attendance, you need to prepare.  Build your conference schedule in advance, but make sure you leave some time open during the day to recharge and find some solitude. Conferences are jam packed with sessions and networking so you want to make sure you have time in your day to see everything you want to see, without burning out by the end of each day.
  • Register for SPTechCon Boston before August 10th and use the Timlin discount code, TIM18.
  • Set goals for networking and education. While you’re planning your schedule, make a list of the new things you want to learn while attending SPTechCon and who you want to meet.
  • Speak to the companies in the Exhibit Hall. They want to chat with you and this is a great way to warm up to networking and conversing with those people on your list. While you’re in the Exhibit Hall, be sure to say hello to the Timlin team at booth #301.
  • Join the conversation on social media. Connect with speakers and other Sharepoint and Office 365 users by chatting on Twitter under the official conference hashtag, #SPTechCon

We can’t wait to SPTechCon Boston and look forward to seeing you there! Let us know if you’ll be coming to the conference by following and sending us a message on Twitter, @TimlinEnt.

Y B a < SP > H8r? Learn to Love the New SharePoint

If there’s one, strong, recurring theme I’ve witnessed over my 10+ years working with SharePoint and the people who use it, it’s that most folks love to hate SharePoint!  

And for good reasons.

SharePoint is far from perfect – I too have been plagued with deep negative thoughts about the platform. But admittedly, MOST of the time, my frustration has turned out to be my own fault.. 

  • Rushing into building farms by clicking next>next>next 
  • Building tall, rigid hierarchies that followed my company’s org chart 
  • Showing enthusiastic power users how to copy their files over with Explorer and build elaborate InfoPath forms 
  • Installing free 3rd party widgets to make sites “pop”  
  • Crawling EVERYTHING!   

Most of these mistakes were made in my early days of SharePointing, and I learned quickly just how bad they werePerformance would drag, tickets would pile up, and HR folks once asked me to explain why employees’ salary information was visible in SharePoint search results (oops). If you’re anything like me, you don’t often learn things the easy way. So, we repeat these mistakes and keep wondering why the platform is so bad. 

And it’s not just the Admins   

End users have been forced to adopt a new way of doing things that is clunky, confusing, undependable, and slow …then have to deal with bad attitudes of already frustrated IT techs who helped create these unfortunate messes (or worse, have inherited them, not given time/$$$ to fix them, and have to juggle complaints that grow exponentially). Then, the business gets a vendor quote for an upgrade or migration, and panic ensues. Is it any wonder why some people are visibly shaken when they hear the word “SharePoint” 

Sure, there are bugs – some stuff just doesn’t work the way it should. And, yes, it is true that Microsoft “stitched” together several products from different (and competing) project groups to deliver early versions of SharePoint. This resulted in a disjointed, awkward admin experience that seemed always broken and nearly impossible to troubleshoot with any speed. End users paid the price with poor collaboration experiences and the inability to find their stuff. They reverted to email and attachments from file shares (or their desktops <shudder>)Weren’t these the very things we were all told would never happen in the world of SharePoint?  

Then Microsoft wised up 

Even with mounting frustrations, Microsoft saw strong potential in this new way to collaborate. With time, they wised up and pulled product teams together with more clarity on vision, leadership, and product strategy. They listened to end users and delivered vast improvements in administrative ease, end-user experience, and scalability with each major release. Since the 2010 version (the first “true” enterprise version), the total cost of ownership has continued to go down even as adoption and overall environment size has gone up.   

Now, with the cloud offering virtually unlimited scale, stable performance, flexible costing models, and a constantly evolving set of features/functionality, the platform appears to be unstoppable. While on-prem environments remain highly relevant for some organizations, the steady push from Microsoft is to go to the cloud. It’s better for them (who doesn’t want predictable, recurring revenue?), and they’re doing everything they can to make it better for clients. The more recent enhancements implemented across the Office 365 platform with Microsoft Teams, Planner and Flow/PowerApps to name just a few, make it quite compelling platform for your digital transformation.  

Pushback against going to the cloud 

Yet, there has been pushback against going to the cloud. However, in our experience, most of the pushback we see is purely psychological.

  1. Is it secure?
    Fears about data security and/or geolocation abound. However, growing evidence has shown that Microsoft’s infrastructure is likely (and statistically) far more secure than yours.  
  2. My portal doesn’t look right.
    Yes, businesses may not be able to make their portal look, feel, and act exactly the way they’d like. Trust us, this is usually a good thing! Standardization seems like small beans in the grand scheme of things when weighed against stability, supportability, performance, better end-user adoption, and lower costs. And, keep in mind that migration happens! More customizations = harder, more expensive, longer migrations that no one enjoys. Unfortunately, there is no magic pill for this condition! Even the best migration tools simply cannot handle all the variability of these boutique environments.  
  3. If we go to the cloud, what’s a SharePoint Administrator to do?
    Rather than shedding their SharePoint administrators, many businesses are finding huge value in leveraging them throughout the organization. Behind the scenes, former admins can prove indispensable for:  

    • Managing external sharing 
    • Forming and managing governance committees  
    • Prepping for compliance audits 
    • Establishing taxonomy/folksonomy 
    • Archiving stale data 
    • Monitoring and testing new functionality 
    • Enforcing the general rules of engagement  
    • Automating processes 
    • Building forms  
    • Setting up managed metadata 
    • Optimizing search 
Bottom line? You can learn to love again. 

The Office 365 platform has a lot to offer organizations striving for digital transformation, but balancing flexibility, scalability, performance, end-user experience, administrative overhead, and a constantly-evolving feature set is exceptionally difficult. There are bound to be missteps along the way, and most organizations are not prepared to manage Microsoft’s rapid release cycles. You will want to think differently about your resources, just like you did about your platform. 

If you don’t have in-house expertise that has kept up with the evolution of the platform, it will be imperative to leverage a trusted partner who has. Doing so can dramatically improve your business outcomes, increase user adoption, and reduce your long-term costs.

Seven Key Ways to Gain Value from Office 365 User Adoption

To maximize your Office 365 investment, you need to ensure user adoption, so it’s imperative to incorporate proven change acceptance techniques when introducing new technology to your employees. Once you have business and IT alignment in regards to your innovation goals, it’s time to implement the software and ensure your users adopt, use, and expand their skills within Office 365.

Let’s explore seven key areas of value your business will realize with full Office 365 user adoption.

1.) Increased Efficiency and Innovation

With a functioning and adopted Office 365 solution in place, you save time managing technology and can focus on delivering innovation to your business. In order to achieve this level of innovation, your users will need to know how to properly use the Office 365 tools and will need to be comfortable using them on a daily basis.

Continually provide the solutions you know users need. For example, don’t let users randomly discover tools like Microsoft Teams. Instead, engage with and provide them with training, guidelines, and a process for using Teams to ensure they’re using it optimally amongst their own teams and across departments.

“With a functioning and adopted Office 365 solution in place, you save time required for managing technology and instead, can focus on delivering innovation and value to your business.”

2.) Protected Data: Internally and Externally

In 2017 alone, there were 1,120 total data breaches and more than 171 million personal records of consumers exposed. This number of attacks is only expected to increase, with a target on small and large companies alike.

Luckily, Office 365 has tremendous control and compliance capabilities across email, SharePoint, OneDrive, Teams, and Yammer, which makes it easier to control and protect proprietary information.

Properly enacting the policies, procedures, retention, disposition, data loss prevention, and information protection enable content sharing, internally and externally, while ensuring data is secure. Using Office 365 tools to collaborate with external partners, as opposed to non-supported third-party tools like Box or Dropbox, also ensures your content is properly governed and risk is reduced.

3.) Effectively Managed Intellectual Property

When your users have properly adopted Office 365, confidential or proprietary information moves to your intranet, Teams or team sites, communication sites, project areas, and OneDrive. By reducing your organization’s reliance on email, and instead, storing key information in a reliable system specifically designed for a search-first user experience, you more efficiently manage critical data and intellectual property.

Gone are the days when file shares, email, and the “My Documents” folder are haphazardly used. And with today’s agile workforce, it’s key that your important knowledge is maintained within your organization’s Office 365 structure and not in someone’s inbox, on their own personal device, or another unsupported third-party service.

“Using Office 365 components for more than simple email and document storage creates new opportunities for improving efficiencies.”

4.) Increased Business Intelligence

Once users have adopted Office 365, your organization can use Power BI to access valuable data stored in the various tools and deliver insights to make intelligent business decisions.

Microsoft has long been a leader in this area for a decade. Gartner has positioned them as a Leader in their Magic Quadrant for Business Intelligence and Analytics Platforms for ten consecutive years. Sample areas where Power BI delivers insight include:

  • Key financial metrics
  • IT spend
  • Sales effectiveness

It’s another way using Office 365 components for more than simple email and document storage creates new opportunities for improving your organization’s efficiencies.



5.) Empowered Employees

With Office 365, you can empower employees by enabling more effective collaboration and supporting decentralized teams and remote workers through tools like intranets, extranets, and collaboration solutions using SharePoint, Microsoft Teams, OneDrive and all the features in Office 365. Employees now have a work environment that’s intelligent, flexible, and secure, and they can collaborate from anywhere, on any device.

6.) Decreased Reliance on Email & Client Applications

With Office 365, you eliminate the need to upgrade your desktop software, patch servers, and perform platform migrations every four years. This time savings improves productivity, allowing you to identify your organization’s business opportunities instead of just worrying about the IT problems. The underlying changes with upgrades, server patches, and platform migrations still happen, but they are gradual and more manageable as they happen over the platform life cycles.

Embracing and supporting employees’ use of Office 365 also keeps them on the front edge of modern technology, providing opportunities to grow their skills and career.

7.) Accelerated Digital Transformation

The difficulty with digital transformation is that it is 100% based on people and their ability and willingness to change how they operate. Users can send emails and use online file shares, but social content, publishing, project management, document management, business automation, and business intelligence are a different story. Full user adoption accelerates the speed of business and your digital transformation.

Unfortunately, an organization cannot simply deploy software and expect magic to happen. It’s accelerating broader business activities, processes, competencies, and models to fully leverage digital technologies. It’s challenging business leaders to harness technology to shape their specific destiny. It’s a living process that shifts throughout the journey.

It’s why 88% rely on third-party providers for at least one component.  

 It’s also why we leverage a proven process methodology that we refer to as Center of Excellence service for Office 365 and related technologies.

Interested in learning more about a Center of Excellence approach? Download our free whitepaper here.

The New Role of IT: How to Be Successful with Office 365 in the Face of Constant Change and Innovation

Over the past few years, IT has transitioned from a department focused on infrastructure and support to one of innovation, transformation, and competitive advantage. Traditional roles, resources, and expectations have been disrupted by shifting user demands and needs. To keep up and ahead of these demands, the IT department now has an important seat at the executive table. The role of IT is to not only provide technical support but to also provide fresh solutions and tools that will keep their organization ahead of the wave of innovation.

Cloud Computing Brings Change and Innovation

The focus in IT has been sky-high. Organizations and users fully understand and prefer the flexibility and collaboration of cloud technology. Now, IT is expected to lead the charge into the cloud by providing innovation, efficiency, collaboration, and—most importantly—business value. But many IT departments have high expectations to provide increased, faster, and better results with fewer resources and less time. Without the right technology and budgets, supporting, training, and managing SaaS technology becomes a daunting task.

At the same time of all this change and disruption, Office 365 has emerged and is aimed squarely at supplying the tools to make these capabilities accessible and less daunting for IT departments. By 2019, Microsoft expects two-thirds of their traditional Office customers to migrate to Office 365 subscription plans. This demonstrates a new normal for IT and the end-user community.

So as IT faces this new normal, how can you be successful in this new role? It requires two requisites.
Let’s dive in.

Business and IT Alignment

Leading business transformation with these new tools requires vision and focus. Without a laser-focused vision and a means to measure your intended success, most implementations are based on assumptions, and IT professionals are guessing their way through the process.

Instead of playing a guessing game, IT can take a step up to align technology with the needs of the business. IT can no longer work in a silo — they need to be invited to the table to define, release, and support solutions that will improve the business.

To successfully align IT with business, start by:

  • Meet with all stakeholders to understand their specific requirements—in detail—and clearly communicate why the services will benefit them and how business value will be achieved.
  • Implement solutions like Office 365 that meet all requirements.
  • Align stakeholders when planning and deploying collaboration solutions.

User Adoption

Just because an organization deploys Office 365, doesn’t mean they’ll reap the benefits of digital transformation. ‘Build it and they will come’ simply doesn’t work with this type of solution. The difficulty is that success is 100% based on people and their abilities and willingness to change how they operate. Users can send emails and use online file shares, but social content, publishing, project management, document management, business automation, business intelligence, etc., need support from skilled personnel.

The path to success begins at user awareness, which leads to user engagement, and ends with user adoption. Here are a few ways to become successful in your user adoption strategies:

  • Awareness
    It’s important to communicate to end users the benefits that the Office 365 platform provides. Initial and ongoing communication across your end user community enlightens them on what is possible, prevents misunderstandings, and provides a sense of belonging to the organization. When internal groups are aware that tools and technologies are available to them, they are more likely to use and build upon them.
  • Engagement
    Aware employees become engaged employees. Employee engagement goes beyond knowing tools, capabilities, and information exist and leads to genuine and sustained interest in how they can do their jobs better for the overall success of the organization. This occurs only when your tools are delivered deliberately and with purpose, training, support, and ongoing enhancements to suit user needs. Ongoing communication of the vision and value these tools bring to the organization fosters engagement and leads to adoption.
  • Adoption
    Successful adoption is the holy grail in the land of collaboration and digital transformation. Adoption occurs when the user community employs the tools, services, and solutions provided for them because they want to take advantage of the value they continue to experience. Additionally, engaged employees who have adopted the use of the tools in their everyday work will encourage their colleagues and new hires to do the same, promoting the use of the capabilities across their own teams and departments. True adoption leads to employee efficiency and fewer user complaints and increases the organization’s confidence in IT to deliver solutions that meet business needs.

How a Center of Excellence Drives User Adoption and Value

In today’s changing IT landscape, it’s imperative to incorporate proven change acceptance techniques. With the above requisites along with a proven, deliberate framework, organizations can begin to truly realize the value of their Office 365 investment.

An alternative approach to achieving this success is the Office 365 Center of Excellence (CoE). What is the Center of Excellence? It is a proven process methodology that utilizes six services areas to improve and execute on digital transformation in Office 365 and SharePoint. It can greatly improve innovation, deliver business value, protect your internal and external data, decrease reliance on email, and empower your employees.

Learn more about the Center of Excellence framework by downloading our free whitepaper here.

Top 10 Reasons You Need an Office 365 Center of Excellence

Adopting and using Office 365 is a big investment and enabling and sustaining the capabilities of the Office 365 platform can be challenging even for the largest organization. Just maintaining deep knowledge on the entire platform and understanding the implications of each tool and every enhancement on your environment alone can be daunting. It’s why taking the “if you build it they will come” approach to Office 365 is simply destined for failure.

“Just maintaining deep knowledge on the entire platform and understanding the implications of each tool and every enhancement on your environment alone can be daunting”

One proven solution to maximizing and sustaining your Office 365 and SharePoint solutions is to adopt a managed, Center of Excellence approach. Let’s explore the common challenges of companies with Office 365 and SharePoint solutions and how a Center of Excellence can remedy them.

  1. You struggle with user adoption or see other colleagues struggling to understand the value of Office 365. Users will not flock to the higher value features of Office 365 without training and support. They can send emails and use online file shares on their own, but social content, publishing, project management, document management, business automation, business intelligence, and a lot more, need support from skilled personnel.
  2. You know you need a broader Vision, Roadmap, and Plan. A plan is required to provide the platform tools, but there are a lot of moving parts required to effectively launch, train, and support your end users for an effective set of capabilities.
  3. You know there is a lot of capability in those menu items, but you don’t really know what they do or how to use them effectively. Office 365 is a big platform – it’s Microsoft Teams, Project Online, Planner, SharePoint & SharePoint Online, OneDrive, Exchange, PowerBI, Flow, Yammer, and PowerApps and more – and it takes dedication by multiple people to truly understand all the functionality. There is a lot of value to be gained with the right people to help you understand and leverage it.
  4. You need help with Governance & Communication strategies. Governance is a difficult undertaking for many organizations. You see the value in bringing in a partner that has experience in helping organizations understand how to undertake envisioning of key, strategic elements of platforms this large. A partner with a process and set of questions ready to hit the ground running will save you a lot of time.
  5. You can’t keep up with all the enhancements. Microsoft is releasing changes to the Office 365 platform at a brisk pace. Keeping up with the features in your tenant, applications, and the impact they have on your end users can be difficult to manage. You need someone who not only is abreast of all of the enhancements but also knows your deployment and is accustomed to reviewing your administration center, identifying the key information, and working within a framework to communicate the updates to you and your team.
  6. You need Training that is specific to your policies, guidelines, and intended use of Office 365. Generic training falls short when you’ve spent the time to deliver and support Office 365 in a way that works best for your users. You don’t want all that effort to be wasted with “one size fits all” training. You want to guide your users down the path you have built for them.
  7. You have varying needs that can be difficult to forecast. You may need architecture, development, analysis, or troubleshooting at various times. You also may not understand the best way to solve a problem because you don’t have the experience in-house to understand the depth of all the features available to you.
  8. Your IT Department wants to focus on solutions, projects, and innovation, not training and support. Time spent supporting user requests takes employees away from other priority work. Ad hoc responses and supporting users is critical, but it’s not what every IT expert or Business Analyst wants from their career. Keep your people happy and engaged in doing the work they enjoy that provides value to your organization. Delegate the rest.
  9. You need elasticity in your team. Sometimes you need more help for small projects, sometimes you need less. Many times, you have two critical issues or projects, and it’s difficult to triage. Employees go on vacation and many prefer not to be on-call. A small cost to provide around the clock SLAs may be highly valuable to your organization.
  10. You don’t have a full-time employee with enough skills across the platform.  Between a variety of skills (Business Analyst, Developer, Architect, Support Engineer, Workflow Specialist, Information Rights Guru, etc.) it is simply too difficult to have a single person or team fractionally available that knows you, your organization, and Office 365. It’s much more valuable and cost-effective to set this up as a service.

Learn more about the Center of Excellence framework by downloading our free whitepaper here.