ShareMuch Tech News special with Yaroslav Pentsarskyy and Benjamin Niaulin as a guest – Jul 2

This week’s ShareMuch Tech News special is with Benjamin Niaulin as a guest, enjoy!

Transcript of the video provided by Gsoft … thank you!

Yaroslav: Hi, I’m here at GSoft office with…

Benjamin: Benjamin Niaulin.

Yaroslav: With Ben and Ben is SharePoint MVP and this is renewable cycle July 1 as well?

Ben: Actually it’s in April and I switched to Office 365 MVP to go with the trends obviously last April actually.

Yaroslav: So Ben obviously, you being most known in your community for the migration. You did a lot of talks around migration and stuff.

Ben: Absolutely.

Yaroslav: I wanted to really tap into your brain around some of the migration things. But before we do that I wanted to ask you a couple of questions that will help the audience to get to know you better, what do you think about that?

Ben: Sounds good.

Yaroslav: I promise not to ask anything revealing.

Ben: That’s a good thing.

Yaroslav: Unless you want to reveal anything.

Ben: I think I’m pretty good for know.

Yaroslav: So, elevator or escalator?

Ben: Let’s say escalator.

Yaroslav: Coffee or beer?

Ben: It depends on the time of day so I would say I’ll have to go with beer.

Yaroslav: I knew it. Somehow I knew enough. Lunch in the lunch room or park?

Ben: I would say park.

Yaroslav: Cool, all right. Instagram or Twitter?

Ben: Twitter.

Yaroslav: Dentist or annual review?

Ben: Two gray ones there. I would say since I haven’t seen the dentist in awhile I would say then the review.

Yaroslav: Annual review. Friday night or Sunday morning?

Ben: Sunday morning. Bacon.

Yaroslav: And the last one, onenote or notepad? You’re looking at me it’s a tricky question.

Ben: It is a tricky question. I’m going to have to choose notepad.

Yaroslav: I totally agree. All right, good choice. I have a couple of questions that I think might be interesting for people and the first one… here’s a situational question.

Ben: Wow.

Yaroslav: So I’m on SharePoint 2007, should I do 2010 hop or use a tool to migrate to 2013?

Ben: Okay, that’s a very very good question. Now we’re talking about going from 2007 which I just came back from conferences actually yesterday and I realized that there’s a lot of people still on 2007, so if you are on 2007 don’t worry there’s still many others like you and whether you should go through the migration of 2010 or go straight to 2013 using tools, of course it may sound a little bias since Sharegate does SharePoint management and migration all together but…

Yaroslav: It is a little bias?

Ben: It is a little bias.

Yaroslav: But it’s okay?

Ben: I would tell you to skip the 2010 because just the headache of going through 2007 to 2010, the planning, the possible problems that you can get with that, things that won’t work that you’ll have to fix and you have to go through all of that and you’re not even staying there. You’ll have to do the same thing again to go to 2013. So I don’t find in terms of times and the cost that is around that migration is a good idea. You might as well spend for a tool like Sharegate obviously and do the hop for an affordable price that’s not the amount of developer hours, rebuilding the source codes and solutions and master pages twice and no definitely would skip and go directly to 2013.

Yaroslav: Okay, cool, good suggestion. So next one let’s say I’m doing new development in my old SharePoint 2007 or 2010 environment on a continuous basis so things are being… like enhancements are being created as I go, what’s the best strategy to migrate if you have continuous enhancements development?

Ben: Well, that’s a very tough question. I’m not a developer myself but always basically be aware of what’s going on. Microsoft is changing a lot of things in terms of Office 365 and even SharePoint 2016 coming forward. So the ideas to really focus on that…. from what I hear from my developers as much as possible on the client side solutions because a lot more is going that way and you want to be able to migrate easily for the next possible… what am I going to say here? The next possible version there.

You want to be able to understand what’s going to there so that your code can easily be migrated to the next.

Yaroslav: Cool, any recommendations from the process standpoints? So let’s say as things are happening? Let’s say I’m embarking on a migration but there’s still new things going into the old environment, already old environment, any recommendations in the process in that situation?

Ben: Yeah, sure, there’s many different ways. So there isn’t a magic button that I can tell you about migrations are.

Yaroslav: Oh men.

Ben: They’re different.

Yaroslav: I came for the magic button.

Ben: It’s actually… there’s many different ways to do this and some people have different… Sharepoint as all about platform, and some people build it in some way, some people have built in another way. One strategy that I like to use is one that we’ve implemented here ourselves is called RMR and what it is is remove migrate or rebuild. And what we do is we’ve learned a lot from the Agile development methodology by basically trying to see what we need to do. Sort of an inventory… you have to have an inventory.

You want to know what you have everywhere. Is it you have sites, you have code on it, you have contented the web parts with HT and all these stuff you want to have an inventory and then you want to assign points to what do you think the effort is to either remove that thing, to migrate that thing or to rebuild that thing because it’s changed in 2013. And then with the velocity of the team that you have to do the migration you say we can do 30 points in two weeks. So you will see the product owner, the person in charge, the VP or who ever you wants to do the migration and you show them all of these and you say look our team can do 30 points a week which one do you want in what priority? And we kinda go through that. But of course it varies depending on the project.

Yaroslav: Got you, some good tips. So, speaking of good tips, what’s the worse migration you have ever seen? If you can share.

Ben: I can share. Obviously, we’ll not share more details but we’ve seen a couple of things that are interesting. First, one SharePoint farm per department. So migrating multiple forms into one. This was definitely an interesting one. The second thing is an entire intranet, so sales, HR, marketing, resources, the entire intranet built under the central administration, so that came with a world of interesting things because…

Yaroslav: Wow.

Ben: Migrations usually where we’re used to in terms of tools, in terms of what you got to support, we’re used to the typical one site to the other site but when you’re built under the central administration all of a sudden it doesn’t work the same way, so that was interesting as well.

Yaroslav: I hope not too many of these?

Ben: Not too many and I hope not more.

Samuel L. Jackson: It could have been worst John. A lot worse.

Yaroslav: Here’s a tricky question. How much time for let’s say it will take to migrate one gigabyte of data from on-prem to Office 365?

Ben: That’s another great question because…

Yaroslav: I know I wrote it myself.

Ben: Yeah, this guy. No wonder you got renewed. Now, so honestly if you had asked me the question before the Ignite Conference that Microsoft held I would have told you probably a gig of data depending of it have version history, whether it has a lot of metadata, does it have a lot of custom permissions because a lot of things will vary the speed. Is if just a bunch of large documents, if you have two documents of 500 megabytes one gig is pretty quick but if you have a lot of ten kilobytes documents with a lot of version history, a lot of metadata, a lot of things that we have to recreate for Office 365, it will be a lot slower.

So there’s certain aspects that it’s hard to say and Microsoft historically has put some throttling on that migrations because not just because of migration but a lot of tools out there whether it was backup tools, synchronization tools to hand tend to slow down the Microsoft servers. So they said you know what? We’re going to have to limit what this tools are doing so the speed could go only to 500 megs to 750 megs an hour, give or take, right? Based on what I said. But at Ignite and we’ve been working with Microsoft under NDA for a long time before Ignite to help them work on that new migration API which is not unlike the old content deployment…

Yaroslav: I see.

Ben: That you had before, it’s just what happens now is the documents instead of going from on-prem state straight to Office 365. We create a package and I say we… it doesn’t mean Sharegate, you can do that yourself but it comes with limitations. And the package copies, all of the contents a lot faster to Azure, so you do need an Azure account, right? A storage account. So because it goes to Azure there’s no throttling, so we were seeing speeds with 35 gigs an hour now going to Office 365 because we push the content to Azure and then Microsoft has a schedule that looks at your package, see how you’ve built it and then puts it in the right location in your tenant.

So very very much more increase speeds which allows us to bring a lot large organizations that have gigs and maybe terabytes of data from on-prem or file shares into our Office 365.

Yaroslav: And it’s available with Sharegate too as well?

Ben: Of course, yeah, because obviously the API has a lot of limitations still, it’s new, it doesn’t do certain things so what we do is we combine the regular API calls that we use to do and I know it’s technical but basically we put a little bit of Sharegate, we put a little bit of Microsoft API and we get the entire migration solution happen.

Yaroslav: Speaking of… you mention some of the considerations in terms of migration to Office 365, anything else that you want to mention in terms of people getting ready to do Office 365 migration? Any other key consideration such as speed customization, is there anything else?

Ben: My recommendation right away is stop thinking just about taking your SharePoint on-prem and bring it on Office 365. But rethink the whole solution. Your migration should be am I taking my team sites and turning them into groups for Office 365, or some of them yes, some of them no. So reevaluate that whole thing to go, and then afterwards in terms of the migration itself it’s pretty straightforward but definitely your custom solutions and your branding forget it, it’s gone. Whatever branding you’ve done unless you’re already on 2013 it’s gone. You’ve got to redo your branding and it works completely differently in Office 365.

So definitely you have to worry about. I think you did some pretty, funny, scary video on that too.

Yaroslav: I did, I did.

Ben: So check that out as well, but some fun things to look at and your custom solutions forget it. What you can do on-prem most the time you cannot do on Office 365 or you’ll have to think about it differently once again in terms of add ins, what’s used to be called apps.

Yaroslav: Yeah. When did that change?

Ben: That was around Ignite.

Yaroslav: Was that Ignite? I must have been living under rock because I checked my Twitter like… I don’t know… like month ago or something or few weeks ago and I am like oh this are called add ins now.

Ben: That’s right. I think it was around build right before Ignite and they decided that and Jeremy [inaudible 00:12:39] from the Microsoft team he put a big blog post that explained what happens, where did it change from add in to apps or from apps to add in rather. See, I’m getting confused now. But yeah, they definitely changed the words because you already are downloading the Word app now. So if you build an app in Word what is that? An app of an app or? So possibly makes more sense to have an add in in Office 365, in Word online, so that change for sure.

You have to look at your development story but do expect to lose that so that’s why in some cases a hybrid approach might also be great solution to keep certain stuffs on premises that you can’t migrate because you need absolutely that custom solution and for some reason it can’t be rebuild yet and then the rest of the things that you want on the Cloud and Office 365.

Yaroslav: Sweet. Awesome. Do you guys see a lot of Google Drive migrations at all?

Ben: Yeah, we actually do in a lot of request for it and we definitely looking at it. There’s people trying to… the thing about the Google Drive to OneDrive for Business which is typically… because that size company usually that’s going to OneDrive for Business or just regular team sites for Google Drive. And there’s also the file format to take into consideration because Google Docs allows you to create not word documents, they can be open by Word but there that other format that Google has.

So they’re Google excel sheets, Google word documents, they’re not Microsoft Word, then they don’t have the same extension and so you can’t just migrate. You can’t just copy the files, otherwise it would be a very much simpler migration but you also have to look at the file format. So, what people don’t realize at all is that the content is owned by the person that created the document, so the author. If you delete that user through the migration, you decide that you no longer that need that group of person, you’re doing a phase migration.

If you delete a user every piece of content that that user has ever created disappears with the user. It’s not in the drive like we used to in SharePoint and OneDrive for Business where somebody leaves the documents are still there, with Google Drive everything goes with the person. We actually live that here back in the days when we have Google Drive as well and you just lose all the content.

Yaroslav: Wow.

Ben: Yeah. Scary.

Yaroslav: Wow, okay, well I’m glad I asked that question. So I’ll take the credit for it. So as a developer what should I stay away from to reduce my pain during the migration in an on-prem environment?

Wacky Developer from Jurassic Park: I should tell you that the systems going to be compiling for 18 to 20 minutes because some of the minor systems they might go on or off our for a while. It’s nothing to worry about it it’s just simple thing.

Ben: Obviously the full trust solutions that only happen on the server, I guess might tip, what we see is try to code for Office 365 even though you’re on premises. I see you work on lot of developers here as well and try to see what they’re doing in regular basis and I would tell you try to see if there isn’t something already available that you can leverage. Do you really need to build a new custom made slider?

Yaroslav: I do, I really do.

Ben: Or can you build it with search driven, content search, web part search result in just a display template. So try to focus on client side solutions as much as possible. Built in solutions with search if at all possible because everything is going towards driven solutions reusable, so that’s a big thing. But yes, try to stay away from full trust if you can. No it’s not always possible but if you can definitely something to stay away from.

Yaroslav: So, and one last question, we just kind of more summarizing. So looking at all of this migrations right that you’re seeing what are the most common wrong assumptions about SharePoint migration that you see over and over again? People have this assumption that’s like, “Oh, well that’s just file copy.” What are some of the other bad assumptions that people make?

Ben: Honestly the thing that you said it is the biggest one is people take the file share, bring it into SharePoint and even worst I’ve seen now is a new challenge is the whole OneDrive for Business story that people completely don’t understand that’s why I’ve been talking about it a lot in my blogs. And people migrating to OneDrive for Business which to meet doesn’t really make any sense unless you’re migrating your individual user’s home folders, okay. But they’re talking about their file shares, the marketing, the finance folders and they’re bringing them into OneDrive for Business which to me doesn’t make any sense because OneDrive for Business is for individual users. It’s like your new my documents version, Cloud version 2016 whatever.

So to say that you’re going to take the finance folder and bring it into Jonathan’s My Documents in OneDrive for Business.

Yaroslav: Doesn’t make sense.

Ben: Doesn’t make sense so we’re getting a lot of calls and people were not understanding and I understand because there’s a lot of confusion with the brand but OneDrive for Business is a personal file experience. It’s not team sites and even then what they’re doing, what I’m seeing is take your file share and then put it in a team site with no metadata. You don’t have to organize necessarily with metadata. There’s other ways to do it. There’s something in search called entity extraction. I know it sounds geeky and weird.

Yaroslav: It does.

Ben: It allows you to go inside of a document, the search goes in a document and picks a word that you’ve identified and will automatically tag them so you can remove some of the metadata that people have to enter manually and have it be done automatically.

Yaroslav: You covered a lot of ground and a lot of very good tips, so I’ll post a lot of these subtitles and which you’re probably seeing already, subtitles. So, Ben, I wanted to thank you for your time and since I come from BC I wanted to bring you something very unique to BC as a gift, very unique to be see and it’s a limited edition granola.

Ben: Wow, thank you!

Yaroslav: You’re welcome. It’s kind of our thing in British…

Ben: So it’s even in French, very nice.

Yaroslav: Yeah, well see what happen as we were gonna bring you a limited edition British Columbia special brownies.

Ben: Special brownies.

Yaroslav: We had a little bit of a problem at the airport.

Ben: I would assume so.

Yaroslav: So we have to settle for…

Ben: Pumpkin granola bars. Thank you.

Yaroslav: You’re welcome.

How to: make your SharePoint Content Search Web Part results open as a fancybox or “lightbox”

If you worked with the content search web part you probably know that it has several rendering templates available: List, List with Paging, Slideshow
All of these will show you just that: a list which will take you to a page where the content is coming from.
In my case, my customer wanted to see the result right on the page where they user is at, in other words – have a fancybox or lightbox show the content like this:

fancybox CSWP

Let’s take a look how this can be achieved with minimal effort.
First of, I’ll be using SharePoint Online tenant to demo this but same assumptions can be applied for on premises SP2013.

1. Add a CSWP to the page … easy 🙂
2. Download free fancybox plugin (this is the last place I’ve seen it:
2.1 This might be obvious but be aware that fancybox is using jQuery so you’ll need to download and reference jQuery in your masterpage in order for the fancybox to work – so yea, just making sure you’ve done that.
3. Extract the contents of the ZIP and upload the contents of the source directory which looks like this:

fancybox source content

To your style library, in my case: /Style Library/Assets/scripts/fancybox

3.1 Make sure you check in all of these file otherwise they will appear not found to any other users except you and that will break the functionality.
3.2 Also make sure you reference fancybox in your masterpage just below jquery as follows (make sure the URLs match your structure):

<script type="text/javascript" src="<asp:Literal runat='server' Text='<%$SPUrl:~sitecollection/Style Library/assets/scripts/fancybox/jquery.fancybox.js%>' />"></script>
<SharePoint:CssRegistration Name="<%$SPUrl:~sitecollection/Style Library/assets/scripts/fancybox/jquery.fancybox.css%>" runat="server" />

3. Open your site in SharePoint Designer and navigate to: All files/_catalogs/masterpage/Display Templates/Content Web Parts

4. Make a copy of Item_TwoLines.html and rename newly copied file to something else, in my case it’s Item_Fancybox.html

5. Check out the new file, open Item_Fancybox.html and add the following content to it:

5.1 Find this section
<title>Two lines</title>

and replace it with

5.2 Find this section
<div id="TwoLines">

and replace it with
<div id="FancyboxLines">

5.3 Find this piece of code in the “FancyboxLines” section
var line2Id = encodedId + "line2";

and add the following chunk of code right below it

$('.fancybox').fancybox(); // fancybox

This section here basically initializes the fancybox UI with some of the parameters

5.4 Find the following piece of HTML
<div class="cbs-Item" id="_#= containerId =#_" data-displaytemplate="Item2Lines"<

Here is the picture to clarify:

html output to replace

and replace the entire div with it’s whole content with the following piece:

<dd class="fancyboxItem">
<a href="#content-div-_#= pictureLinkId =#_" class="fancybox">_#= $htmlEncode(line1.defaultValueRenderer(line1)) =#_</a>
<div style="display: none;">
<div id="content-div-_#= pictureLinkId =#_">
<p><strong>_#= $htmlEncode(line1.defaultValueRenderer(line1)) =#_</strong></p>
<p>_#= $htmlEncode(line2.defaultValueRenderer(line2)) =#_</p>
<div style="clear:both"></div>

This section here maps line1 and line2 from the web part properties to the structure in the fancybox.
This section here: <div style="display: none;"> is really the content that will appear in the fancybox flyout so if you need to display any other content for example the author name – you can output it there provided you get a hold of it through properties mapped to the CSWP.

6. Check in and publish your Item_Fancybox.html

7. Navigate back to your site and add a new (or use existing) instance of the Content Search Web Part.
7.1 Make sure that both Line 1 and Line 2 properties are mapped to correct fields so that you get the data you need displayed in a fancybox. Also, above example uses both Line 1 and Line 2 – so you must associate both of the drop downs otherwise you will get an error due to my poor error handling in this example code 🙂

8. In the web part properties, change the rendering template for the Item to Fancybox as shown below:

fancybox rendering style

9. Save the web part properties and the page and ….


example facybox CSWP