Sunday, 2 October 2016

Migrate SharePoint to Office 365 - Planning & Steps


A repository of resources containing what you need to consider before you migrate your On-Premises SharePoint environment to Office 365 (SharePoint Online).  

This area contains in-depth detail around the planning stage for your SharePoint Migration and how to gather the data you need to be properly prepared come migration day (in no particular order):

[[Measuring On-Premises SharePoint Bandwidth]]
[[Gathering Storage Requirements for SharePoint Online]]
[[Backup & Recovery Options]]
--[[3rd Party Tools]]
--[[Preservation Hold]]
----[[Calculating Storage Requirements for Preservation Hold]]
[[Migrating Content]]
--[[Employee Experience]]
[[Information Architecture]]
--[[Data Retention & Versioning Policies]]
--[[Archiving Data]]

Monday, 6 June 2016

Export Group Membership From Active Directory Using Power Query

If you need to export a list of staff from an Active Directory Group, follow these steps.  Allows you to gather all the names & usernames of staff in a particular group and save the information into Excel.

Step By Step How To:
  • Open up Excel > Power Query Tab
  • Click From Other Sources > From Active Directory:

  • A popup will ask you to enter your domain name.  It should already be populated with the correct information but if not, input your companies domain name & Click OK:

  • In the Navigator that opens up, expand your domain tree and double click group:

  • You should now see a list of all groups in Active Directory in the Power Query Editor:

  • In order to find & filter for a specific Group, Click the Down-Arrow for the 'distinguishedName' column > Text Filters > Contains...

  • Type the name of your Group & hit OK (Text box is case sensitive!):
Here I am looking for users of the group 'Enable_EB_Screensaver'.

  • Now we want to list all of the staff that are members of the group.  To do this, Expand the group column and unselect everything except the 'member' column:

  • Now expand the group.member column:

You should now have a row for every member inside the group:

Right-Click the group.member column and select 'Unpivot Columns'

  • You should now see a 'Value' column at the end of your spreadsheet.  Click the expand button and select the following columns: displayName, sAMAccountName
  • Now you should have a nice list of all staff that are members of your Active Directory Group!  Click 'Close & Load' to load the data into Excel!

Quick Method How To:

If you're already a bit of a wiz with Power Query, simply copy this code into the Advanced Editor and replace anything highlighted in RED with your own organisational information.

    Source = ActiveDirectory.Domains("[DomainName]"),
    [DomainName] = Source{[Domain="[DomainName]"]}[#"Object Categories"],
    group1 = [DomainName]{[Category="group"]}[Objects],
    #"Filtered Rows" = Table.SelectRows(group1, each Text.Contains([distinguishedName], "[ActiveDirectoryGroupName]")),
    #"Expanded group" = Table.ExpandRecordColumn(#"Filtered Rows", "group", {"member"}, {"group.member"}),
    #"Expanded group.member" = Table.ExpandListColumn(#"Expanded group", "group.member"),
    #"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Expanded group.member", {"displayName", "top", "posixGroup", "msExchIMRecipient", "msExchBaseClass", "msExchCustomAttributes", "mailRecipient", "securityPrincipal", "distinguishedName"}, "Attribute", "Value"),
    #"Expanded Value" = Table.ExpandRecordColumn(#"Unpivoted Columns", "Value", {"displayName", "sAMAccountName"}, {"Value.displayName", "Value.sAMAccountName"}),
    #"Removed Columns" = Table.RemoveColumns(#"Expanded Value",{"displayName", "top", "posixGroup", "msExchIMRecipient", "msExchBaseClass", "msExchCustomAttributes", "mailRecipient", "securityPrincipal", "distinguishedName", "Attribute"})
    #"Removed Columns"


How did you go?  Loving it?  If so, check out my other posts on Power Query:

Monday, 9 May 2016

Simple Answers - Question #1: What is Office 365 (O365)?

There is a lot of hype about businesses moving to Office 365, but what exactly is it and why is it so popular?  There are a waft of people (even in IT!) that have never heard of Office 365.  Over the next few months I will help demystify Office 365 & all the things great products that come with it.

Question #1: What is Office 365 (O365)?

O365 is a suite of products provided by Microsoft that can be purchased for a monthly or yearly fee. There are two basic types of subscriptions, Personal or Business.

As part of a personal subscription , you are provided with the latest version of Microsoft Office (2016) which can be installed on any device. This includes Word, Excel, PowerPoint, OneNote, Publisher, Outlook, etc.

As part of a business subscription, in addition to a copy of Microsoft Office 2016 for all staff, you also get the option of using any of the list of products below which I will go into more detail on later:

  • Yammer
  • Skype for Business
  • Exchange Online (email)
  • SharePoint Online
  • OneDrive
  • Power BI
  • Delve
  • Sway
  • PowerApps
  • Flow

Sunday, 1 May 2016

From Intranet to Digital Workplace

On the 28th-29th April 2016, I attended the Digital Workplace Conference in Melbourne.  Here are my notes & thoughts about one of the sessions.

Session: From Intranet to Digital Workplace

Speaker: James Robertson - @james_steptwo

Session Takeaways:
  • Intranets should achieve the objectives of the business.  Shouldn't be used for any one team to push their agenda or workload onto others.
  • James' 3 simple steps for building a Digital Workplace:
    1. Have projects to utilise the technology currently available
    2. Develop a strategy for the technology that is on the horizon
    3. Have a vision to justify what paths you choose & that plainly explains what you are trying to achieve 

  • 6x2 Methodology - James' every-6-months approach to choosing the most critical & beneficial projects for the business.  As well as how to get executive buy in for your vision.
  • A Week in the Digital Workspace - A vision of how we will work in the future, and how to align that vision with your business objectives.
  • Showed great examples of next-level workplaces, utilising intranet to lower costs & increase productivity.
My Musings:
  • Building a digital workplace isn't about a sexy intranet, although that's a good start!  It's about having a long-term vision of where you are trying to get to.  The vision in turn justifies why you've chosen a certain strategy & why it's worthwhile for the business to keep funding you on your selected projects.
  • Every department should have a story about what they are trying to do and how it aligns with business objectives.
  • Does your IT department have objectives for this year?  Are they tangible?  Do they match what the company is trying to achieve?  Do they align with IT's long term vision of what the companies technology suite should look like?
Rating: 5/5 Strategic Visions

Reasoning:  Great speaker, inspirational, logical.

Agree or Disagree?  Please feel free to discuss your thoughts in the comments below!

Gather-Decide-Act: Three Business Process Case Studies That Transform Data Collection Into Inspired Action

On the 28th-29th April 2016, I attended the Digital Workplace Conference in Melbourne.  Here are my notes & thoughts about one of the sessions.

Session: Gather-Decide-Act: Three Business Process Case Studies That Transform Data Collection Into Inspired Action

Speaker: Mike Fitzmaurice - @MikeFitz

Session Takeaways:
  • Simple solutions using SharePoint lists and Nintex Forms to gather data easily
  • Nintex Forms allow you to fill out forms in offline mode on a mobile device  
  • Offline mode works like your email outbox.  It holds onto the data until there is an internet connection
  • Mike's theory is that if you show a company how to collect data with a simple form, they will see the value of the solution & be inspired to act on building solutions for their other problems
  • Tip: make data collection as simple as possible.  Don't build complicated forms
  • Nintex Workflow also has the functionality to generate contract documents using the data captured within online forms
  • Nintex Workflow can use Docusign to sign said auto-generated contacts as well!
My Musings:
  • Using Nintex Forms across multiple devices requires you to build multiple templates.  Which is fine until an update to a form needs to be rolled out across all devices.  Not a single form template that is responsive across all devices.
  • Can't believe Mike refused to click the 'update' button on his office suite mid-session! ;)
  • +1 for telling the Stone Soup story.
Rating: 4/5 Stone Soups

Reasoning:  Despite the projector difficulties at the start, Mike was a cool, calm & humorous speaker that gave simple examples of how to collect data across multiple devices using a single tool, Nintex Forms & Workflow.

I was personally hoping for a little more on the 'Inspired Action' part of the session (e.g. how do you convince a company to act on the data they collect).  My experience has shown the 'build it & they will come' mantra is true, but inspiring the business to utilise that data & act upon it does not happen without a lot of hand holding.

My understanding is Mike would have gone into further detail had he had more time, but that's the only reason I couldn't give this session full marks!

Agree or Disagree?  Please feel free to discuss your thoughts in the comments below!

Thursday, 25 February 2016

AvePoint DocAve 6 - How to Fix the Error "The timer service is down"

Logged into DocAve today to move some content from one site to another, only to come across this error as soon as I logged in:
"The timer service is down, which may cause the manager service stop working.  Please ensure your timer service is started."

My first thought: Don't care, as long as I can still complete my task.  So went to Content Manager, tried to expand my farm in the tree-view, only to get this error!
An error occurred while loading the data.  Please view the logs for details.

I'm the kind of man that uses Logs as a last resort, so here's how I fixed it:

Logged onto the server that is hosting the DocAve 6 Manager, then opened up the 'Manager Restart Service Tool' for DocAve from the Start Menu & restarted all three services:

Once they restarted, tried logging back into DocAve, but turns out one of my Server Agents was still down:
 View of Agent Monitor which can be found by navigating to Control Panel > Agent Monitor in DocAve 6.

These agents are what gets installed on each Farm to action tasks you make in DocAve.  So then I logged into the Server (Agent Name) that had the stopped agent.  Once there, ran the Agent Restart Service Tool & all was fixed.

Anyone else have DocAve issues they need help solving?

If you enjoyed this, here's another post about resolving a DocAve issue I wrote a little while back:

Monday, 15 February 2016

The Ultimate Reporting Solution Using SharePoint Task Lists

We've all done it before, built a task list, exported SharePoint list data to excel, created a pivot table & chart to show status in each column.  Below is a quick example of what you can get by doing something simple like that.  It's great for getting a snapshot of the task list, but terrible for reporting on team performance.

export to excel

Pivot-table & chart of a task list

Reporting isn't just about showing stats on how your tasks are tracking.  Sure, it gives you an idea of what you have achieved over a set period of time which is great information for upper management.  But it doesn't help you improve your customer experience.

  • What if you could develop an automated report that could track every task individually?  
  • What if you could see how long a particular task sat at a particular status?  
  • What would happen if you found out that tasks spend most of their time in the 'On Hold' status?

I know what would happen.  You would now be able to find all the bottlenecks in your process & start to resolve them one at a time.  You would be able to see which staff perform better during certain phases of a task & you could fine tune your team into a well-oiled task destroying machine.

I just told you.  By implementing this solution are getting performance monitoring down to a granular level which allows you to surface bottlenecks in your process and sort that shit out.

I'm going to attempt to explain how to achieve this via diagrams & process maps because the step by step process would be slightly long!
  • Create two lists. a Task List, used for logging each task and it's status.  and a Task Logging List, used to hold all the logs for when tasks are updated.  Here's a picture of the columns you need to include in each list

  • Create a Workflow on your Task List that will run every time the status of a task changes. Here's a picture of the workflow process I went with:
View of workflow & trigger actions:

Detailed view of workflow & each step that occurs at each stage:

  • Export the Data to Excel & create a Pivot Report
Here you can see a VERY basic excel report that is pulling back all the data we have been logging to the Task Logging List.  It shows on average how long a job/initiative sits in a status before being moved to the next status.  You can then filter/slice this data to show how long a specific initiative or task owner takes on average to complete a task at each status.

I'm not covering any new ground, this has been drilled into us again and again.  I'm just trying to deliver what's been offered previously in a more step-by-step approach.  Here's where I particularly enjoyed reading about it:

PROVEIT! - Using Analytics to Drive SharePoint Adoption and ROI (Published by Mark Miller, Edited by Loren Johnson)
 - In Particular, Chapter 4 (SharePoint Analytics) by Sadalit (Sadie) Van Buren