Monday, October 31, 2016

P.E.A.C.E Suburbs #LoveMustRise

Last night was hell on earth here.  The Diwali celebrations descended into an outright war in our neighbourhood and it did not end well for anyone.  People were screaming, shouting; crying, being threatened, sworn at; animals were freaking out. Heaven only knows what the birds and other wildlife were going through. The scourge of fireworks caused untold strife and hatred in our neighbourhood; it was too dreadful to witness.  A neighbour called me to talk about it this morning; do you know that his boerbull (dog) died last year during Diwali; it had a heart-attack and died.  It is so ironic that Diwali celebrates new beginnings and the triumph of good over evil and light over darkness when all it causes in city suburbs is death and darkness for a large majority of its residents, and brings out the evil in most people. My heart bled for humanity last night and it has bothered me all day.

Fighting against this is not working.  People have been trying for years to ban fireworks in suburbs, they are just being ignored flat and the revelers just don’t seem to care one bit about the impact they have on life around them.  I can’t just sit by and let this “just be the way it is”.  Surely we can do better as a species than to traumatize millions of animals and people in the name of religion and tradition? Guy Fawkes is another one of those “traditions” that are doing so much more harm than good.

With that in mind, I have decided to start a P.E.A.C.E  initiative – People Empathizing and Caring about Everything.

Our neighbourhood Facebook group will be P.E.A.C.E in Vorna Valley x25.  The group for the residents and families of Vorna Valley x25 who want to live in harmony with each other and nature. If you are tired of the conflict around you, maybe you could do the same thing for your neighbourhood.  No violence of any kind is allowed, only positive stories, uplifting ideas and change for the better. Members of the group must be actively interested in being the change the wish to see in the world and create a way for others to follow should they choose to do so.  We could share ideas on what’s really working well and implement them in our own places.

I have compiled a plea for sanity letter that I am giving to every single person in our neighbourhood this week and inviting them to try something different.   We have to do something, anything.  We can’t go on like this, it’s going to end in homicide for goodness sake!

P.E.A.CE.


Filed under: Leadership
by Veronique Palmer via Views from Veronique

Analytics in SharePoint Online and OneDrive for Business

So you moved all of your SharePoint content to Office 365 and OneDrive for Business and noticed that for a while now there is not really any type of reporting and Analytics that you could use. But then things changed and now we have a whole bunch of reports we can run and use.

read more


by via SharePoint Pro

Friday, October 28, 2016

SharePoint Analytics 101

So here is the story, you have spent all that time getting SharePoint working and running perfectly in your organization, everyone has adopted it (as much as you can tell anyway), and one of the executives asks you what metrics can we see on usage within SharePoint?

read more


by via SharePoint Pro

Wednesday, October 26, 2016

New Pluralsight Course: Planning for SharePoint Server 2016 – Logical Architecture and Integrations

I am extremely happy to announce that my sixth Pluralsight course is published and this is the second part to the course I released at the begging of September. While the first course focused on Physical Topology and Services, this one will focus on the Logical Architecture of SharePoint 2016, and Integration with other systems.

Planning is the key to success in most of your professional activities, and it applies to SharePoint as well. Before starting to install and configure your SharePoint farm, you need to plan what other services you will integrate it with, as well as how you will secure and backup your SharePoint farm. In this course, Planning for SharePoint Server 2016: Logical Architecture and Integrations, you’ll learn foundational knowledge on how to plan your SharePoint Server logical architecture. First, you will learn what needs to be planned if you want to integrate SharePoint Server 2016 with other Microsoft servers such as Project Server and Exchange Server 2016. Next, you’ll learn the available authentication methods in SharePoint, and what security methods you could implement such as SSL bridging, anti-virus, and transport security to keep your SharePoint safe. Finally, you’ll learn the different ways to backup SharePoint, and why it’s important to test your backups. When you’re finished with this course, you will have the skills and knowledge of SharePoint 2016 needed to properly plan a SharePoint 2016 logical architecture according to your business needs. This course also covers part of the “Planning” objectives of the SharePoint 2016 MCSE Exam 70-339. (View more info here: http://ift.tt/1V62fzs )

You can find the course on Pluralsight at http://spvlad.com/PlanningSP2016-2 or by clicking the banner blow:


If you don’t have a Pluralsight Subscription, check out how to get a free 3 months on my blog post over here: http://ift.tt/1Q7illv ! If you enjoy the course and you learned a lot, you can share it on social media by directly retweeting the tweet below!


by Vlad Catrinescu via Everyone's Blog Posts - SharePoint Community

Who finished in the top 25 of the SharePoint Tournament?

Hello! We are just about recovered from the Global conference (& Tournament) in time for this weeks Newsletter!

(We would like to say a huge thanks to all of the Speakers and Track leads that gave up their time to bring you such amazing content!)

*** [Sponsored] Join Office & SharePoint Live! For No Hype, Independent SharePoint and Office 365 Training This December ***

Today, organizations expect people to work from anywhere at any time. Office & SharePoint Live!

Taking place December 5- 9, 2016 at the Royal Pacific Resort in sunny Orlando, FL, provides leading-edge knowledge and training to administrators, developers, and planners who must customize, deploy and maintain SharePoint Server on-premises and in Office 365 to maximize the business value.

Whether you are a Manager, IT Pro, DBA, or Developer, Office & SharePoint Live! Brings together the best the industry has to offer for 5 days of workshops, keynotes, and sessions to help you work through your most pressing collaboration projects.

More : http://bit.ly/2eRdtG8

*** [Sponsored] Fast SharePoint Rollup Tool Certified for Code Quality ***

The Lightning Conductor by Lightning Tools is a cross site collection rollup tool available for SharePoint Online and SharePoint On-Premises including all versions between 2007 Foundation and SharePoint Server 2016. The Lightning Conductor enables user to quickly and easily configure an aggregation of SharePoint Lists of all types and build views of content that include features such as conditional formatting, multiple levels of grouping and styling all without code. Performance with the Lightning Conductor is outstanding allowing thousands of items to be aggregating in less than a second. We are proud to announce that the Lightning Conductor for SharePoint On-Premises and the Add-In for SharePoint Online has now also been awarded the code quality certification by Rencore.

More: http://bit.ly/2eLFEYA

*** [Sponsored] New Pluralsight Course: Planning for SharePoint Server 2016: Logical Architecture and Integrations ***

Before starting to install and configure your SharePoint farm, you need to plan what other services you will integrate it with, as well as how you will secure and backup your SharePoint farm. In this course by SharePoint MVP Vlad Catrinescu, Planning for SharePoint Server 2016: Logical Architecture and Integrations, you'll learn foundational knowledge on how to plan your SharePoint Server logical architecture. This course also covers part of the planning objectives for SharePoint 2016 MCSE Exam 70-339! Check out the course today!

More: http://spvlad.com/PlanningSP2016-2

*** [Sponsored] Concept Search and You Will Find ***

Effective search doesn’t have to be a pipe dream. Clean up your metadata, auto-classify your content, and create a taxonomy. It would be unrealistic to retag every piece of content manually. Concept Searching solutions use compound term processing. When searching for ‘triple heart bypass’ other applications typically retrieve all documents that contain the words three, baseball, organ, and highway. But the conceptClassifier for SharePoint and conceptClassifier for Office 365 platforms understand ‘triple heart bypass’ and return documents with this concept. You now have concept searching.

- conceptClassifier for SharePoint: http://bit.ly/2dIB2Vw
- conceptClassifier for Office 365: http://bit.ly/2eviRSo

*** Who won the SharePoint Tournament? ***

The "SharePoint Tournament" was a never seen before, real-time, SharePoint quiz (written by Nick Brattoli) with 200 taking part from the community. Find out who the winners were and what the answers were below!

- TOP 25 : http://bit.ly/2eRB3ny
- ANSWERS : http://bit.ly/2dKnJ1T

More from the Community ...

That's all for this week folks.


by Mark Jones via Everyone's Blog Posts - SharePoint Community

Tuesday, October 25, 2016

Teamwork and collaboration, the secret ingredient of effective SharePoint e learning

Gorillas, dolphins, orcas, wolves and humans. What they all have in common is that they rarely ‘go it alone’ and are highly social animals. How they develop and learn about the world depends solely on their connections – connections that, for humans, are not only for survival but also for their happiness and the success of their careers. With that said, wouldn’t it make sense that teamwork and collaboration be a critical element for effective e learning programs?

Everybody learns differently but what we do know, according to the National Training Laboratory, is that traditional lecture-style teaching only has about a 5 percent retention rate among learners. Reading doesn’t fare much better with a dismal 10 percent retention rate. However, what shouldn’t come as a surprise, is the effectiveness of social elements. Just by adding a discussion to your e learning program will garner a 50 percent retention. And, leading at the top of the chart is practicing (75%) and teaching others (90%).

What many trainers are finding is that a blended e learning approach has been quite successful because of its ability to influence critical thinking among teams. There is an individual component, which is taken in a self-paced manner and a teamwork component, which provides ample opportunities for collaboration between learners.

HOW SHAREPOINT SUPPORTS TEAMWORK AND COLLABORATION

SharePoint is well-known for its content management capabilities but in more recent years it has also taken on the label of grand poobah of collaboration.

What better way to encourage teamwork than with a SharePoint team site. Team sites can be created for just about any collaboration task and is highly customizable - upload content, create task lists for team members, use blogs or wikis to share information, gather input with discussions or surveys and establish a team calendar. For even more convenience, SharePoint and Microsoft Project can be synced together so a manager can make changes in Project and then lead a discussion with the team in SharePoint. No duplicate efforts.

Team sites are not the only way to collaborate. Teamwork and collaboration also happens with SharePoint MySites, wikis, discussion forums, gamification and newsfeeds.

THE POWER LIES IN A SHAREPOINT BLENDED E LEARNING EQUATION

There are a lot of elements that contribute to training success. But, the most powerful equation that leads to a strong online learning environment is face-to-face + synchronous conversations + asynchronous interactions.

In simple terms this means traditional face-to-face training combined with conversations in real time such as Web and video conferencing and concluding with asynchronous communication like discussion boards, blogs, Web-based training and surveys.

Is there a way to wrap all of this magical equation into one easy to use system? The answer is yes. Having an LMS that is tied to your SharePoint, like ShareKnowledge, allows all of this and more.

For example, as a trainer, you can easily upload all of your learning content into one central location in SharePoint. Since ShareKnowledge is built on top of SharePoint, you can seamlessly pull any learning info into the LMS without duplicating efforts.

Within ShareKnowledge, there is also a trainer workplace where all instructor-led training and online training is organized complete with notifications, calendars, grading and reports. In addition, real time collaboration happens with the help of webinar connectors in ShareKnowledge.

ShareKnowledge tailors team training needs by allowing the ability to assign courses based on job title or organizational unit. And, its unique PowerSync™ feature automatically adjusts training with promotions, transfers or team changes.

All of the social features in SharePoint cross over to ShareKnowledge as well. For instance, after taking an e learning course in the LMS, learners can gravitate over to the discussion group that is tied to that course.

NEXT GEN TEAMWORK COLLABORATION WITH SHAREKNOWLEDGE

It is imperative that business units across an organization are equipped with the right tools to meet their specific goals and objectives. And, this often comes with unique training needs that do not always fall under the same organizational LMS umbrella. ShareKnowledge provides a solution for team training when a corporate wide LMS does not work as needed and training demands require granular, departmental, group, or team control in a fast-paced, rapidly changing environment.

While there will always be some crossover in training needs that a corporate wide LMS will suffice, there also will be an equal amount of situations where specific teams need a tailored solution. Common problems teams face include:

  • Lack of administrative access or control of the corporate LMS
  • A corporate LMS that is too complicated for small team needs
  • Inability to customize training for specific team requirements

While most corporate LMSs only allow certain administrative access, this is not the case with ShareKnowledge. Any team, department or group can utilize flexible permissions in order to manage their own training without interfering with centrally managed learning objectives.

Let’s face it, nobody wants or has time to learn a big complicated system in order to do one simple task. On the rare occasion that a team is given access to the corporate LMS, it can lead to frustration when it falls short in usability. ShareKnowledge mimics the same Microsoft Office-like features that many teams have been using for years.

Independent team training is all fun and games until the big boss wants to see how a team is meeting goals and objectives. Managers can easily track team completion with results and status reports within ShareKnowledge. And, because ShareKnowlege provides an integration solution that “talks” to other systems, team managers can seamlessly push back their data to the corporate LMS in an automated, simple manner.

To learn how ShareKnowledge can solve your training needs, please call 1-425-996-4201.


by Amber Rasmussen via Everyone's Blog Posts - SharePoint Community

Collab365 SharePoint Tournament: Answers and Explanations

At this year's Collab365 24-hour Global Conference, the superstars at Collab365 launched a real-time competitive quiz, called the SharePoint Tournament.  I had the pleasure of writing all of the questions on said quiz.  

Now that it's over (congrats winners: http://ift.tt/2ezoYas), I can share the questions, answers (in bold), and their explanations. I've ordered them by category. If you have any further questions/comments/concerns, please comment below! Without further adieu... 

Architecture

1. You are the proud admin of a SharePoint 2016 Hybrid environment. Users report that they see all of the search results they need in SharePoint Online, but do not see cloud content when searching on-premises. What should you configure?

  • Result sources
  • Content sources
  • Crawl rules
  • Crawled Properties

Explanation: By default, Hybrid search only goes one direction (you’re meant to do your searching from the cloud). You need to create a result source (remote SharePoint) in your on-prem environment to include cloud content. This may have changed since this question was written.

2. You have completed configuring your SharePoint 2016 Hybrid Farm (with no intention of going 100% cloud) and users are delighted at their shiny new Delve profiles.  However, some users have created many personal sites, and really prefer on-premises MySites. In order to completely satisfy those users, what can be done?

  • Nothing, MySites are destroyed when you configure Hybrid
  • MySites should be migrated to the cloud
  • You can configure audiences
  • B and C

Explanation: Using hybrid user profiles really only redirects users to their Delve profile. Their on-premises profiles still exist. You are able to direct them back to those using audiences.

3. You have a SharePoint 2016 Farm and an Office 365 Tenant. User Profiles are configured correctly. After running Hybrid Picker for SharePoint Sites, all users are still being directed to on-premises MySites. What should you do?

  • Configure OneDrive only hybrid settings in Central Admin
  • Configure Hybrid settings in SharePoint Online
  • Configure the App Launcher
  • Configure Profiles and OneDrive hybrid settings in Central Admin

Explanation: You have to configure the profile and OneDrive hybrid settings to complete the redirection.

4. You have a SharePoint 2013 on-premises farm, and an Office 365 tenant. What is the next step to setting up hybrid user profiles?

  • Configure AD Connect
  • Run the Hybrid Picker
  • Create your cloud service applications
  • Run the onboarding script

Explanation: Your user profiles need to be synced either with same sign-on, or single sign-on before you can make the connection between your cloud and on-premises environments.

5. You are the Lead Architect at a large company in charge of architecting their SharePoint 2016 farm. Your farm has two web front-ends, one application server, and one SQL instance. One of the engineers under you has reported that installing the latest patch took down the farm. What is likely to be the culprit?

  • You need to load balance the front-ends
  • Zero-Downtime Patching needs to be enabled
  • All minroles in use need redundant servers
  • SQL is not clustered

Explanation: In order to take advantage of zero downtime patching, each server minrole you have needs to be redundant, so one can go down while the other stays. The main way zero downtime patching is able to occur is by no longer putting a lock on the database while updating.

6. You are the administrator of a SharePoint 2013 farm. Your boss has asked you to block pdf files. Where would you do this?

  • General Security
  • Service Applications       
  • Web Applications
  • User Policy

Explanation: Blocked file types is under general security, under the security area in central admin. http://ift.tt/2eNAXNO

7. You have been asked to upgrade your SharePoint 2016 farm to Feature Pack 1. Your organization wants to have access to all of the features in the pack. Which licensing option do you need?

  • Enterprise Licensing
  • Standard Licensing
  • Software Assurance
  • EMS Licenses

Explanation: While somewhat controversial, organizations can upgrade to feature pack 1 without it, but in order to gain all features, they must have Software Assurance.

8. You are the administrator of a SharePoint 2010 farm. Users have been complaining about slow site performance in the morning, when they first get into work. Otherwise, the site runs fine. What should you do to keep the site running fast?

  • Add more web front ends
  • Change the search topology
  • Implement a PowerShell “warm-up” script
  • Create a SQL cluster

Explanation: When the site isn’t running, IIS kind of “spins down.” When users come back in the morning, everything needs to “warm up,” caching happens, etc. You can use a scheduled Powershell task to cause this caching and whatnot so it is ready to go when users log in.  http://ift.tt/1MgcM7O

 9. You’ve just upgraded your SharePoint 2016 farm to Feature Pack 1. You are implementing a hybrid environment, and you wish to view all your audit logs in the same place. How should you do this?

  • Turn on verbose logging in central administration
  • Download ULS Viewer
  • Purchase a third-party tool
  • Use Unified Auditing

Explanation: Unified Auditing is a new feature in Feature Pack 1, that allows you to view audit logs from both your cloud and on-premises environments.

10. You are designing the SharePoint 2016 (with Feature Pack 1) architecture for a mid-sized company. You must meet high availability requirements using the least amount of hardware. What should you do?

  • Use the “single server” minrole
  • Use the minroles: "Front-end with Distributed Cache" and "Application with Search”
  • Use the minroles: “Appplication Server” and “Front-End”
  • Use Custom Minroles

Explanation: FeaturePack 1 has added new “Shared” minroles that allow you to use smaller farms.

Service Applications and Features

1. In your SharePoint 2013 Farm, you have switched all of your Web Applications to ADFS-only. All users are able to access the sites just fine. However, users are reporting search issues.  Upon further inspection, you find that Search has not crawled successfully for some time. What's the least-cost way to fix it?

  • Add NTLM authentication to your web apps
  • Rebuild Search
  • Extend your Web Apps and leave authentication default
  • Change your search account

Explanation: Search requires NTLM authentication in order to crawl your content. In order to achieve this, you could extend your web application with an NTLM-authenticated site, crawl that content, then use server name mappings to give you the correct results. However, SharePoint 2013 supports multiple authentication types on one web application, so you can just add NTLM authentication, and either leave the default login page, or point to a custom one to allow your ADFS users in.

2. You have a SharePoint 2013 environment. You need to provision the User Profile Sync service. What account would you use to run it?

  • Your Service Account
  • The Farm account
  • Your individual user account
  • The account in your User Profile Service

Explanation: This happens by default and is necessary.

3. You have a SharePoint 2013 Farm and have created a User Profile Service. Unfortunately, you are unable to synchronize profiles. When looking at the services on your server, you notice that the UPS Sync Service is in the stopped state. Why?

  • It hasn't been provisioned
  • You forgot "replicate directory changes"
  • Who knows? It was working yesterday
  • All of the above

Explanation: This one is kind of a joke question, but if you’ve tangled with the UPS before, you’ll know what I’m talking about.

4. You are the administrator for your very large organization’s SharePoint 2013 farm.  After scheduled IIS resets on all 4 of your application servers, users are having trouble accessing sites of the farm. They are often getting a “503” error instead of seeing a page. Other times, pages load just fine. What is the most likely culprit?

  • Faulty load balancer configuration
  • SharePoint web services root is not started
  • Your service account password has expired
  • An IIS reset needs to be performed

Explanation: I’ve seen this one happen quite a bit over the years. After an IIS reset, or sometimes for seemingly no reason, users will start getting 503 errors. It may happen consistently, or it may happen sporadically (depending on which servers you are hitting), but it often ends up being an app pool not starting back up, typically the SharePoint Web Services Root. The fun part about this is that this app pool is supposed to be stopped, and is not usually cause for concern. However, starting it back up has solved this issue for me many times (it stops itself later). I’m guessing the act of starting it up restarts the web services site itself, which is actually important.

5. You are the administrator of a SharePoint Online tenant with multiple site collections. Users have been complaining that the urls for the various sites and pages were way too long. What feature should you leverage to shorten these urls?

  • Managed Paths
  • Promoted Links
  • Metadata navigation
  • IIS Rewrite rules

Explanation: In order to shorten your URLS, you need to use the “Friendly URL” feature, which uses metadata navigation to help you navigate those long paths faster.

6. In your SharePoint Online tenant, stakeholders asked you to build a page that queries every site in your site collection, and displays items of a single content type, filterable by department. Items must be displayed in a graphical format. What feature or web part do you need to use to facilitate this?

  • Refinement panel
  • Content by search
  • Content by Query
  • Rss feed

Explanation: You can do quite a bit of this using a content by query search, but the key things here are that it needs to query every site in your collection, needs to be refinable, and needs to be graphical, which is accomplished with display templates. The “content by search” web part is what you need.

7. You administer a SharePoint 2013 Farm. Users are complaining that they haven’t been seeing search results from one of the web apps that was recently created. Where should you look first?

  • Result Sources
  • Content sources
  • Crawl Rules
  • Crawl Log

Explanation: Check your crawl logs first, then check in the crawl rules to see if it’s even supposed to be crawled by doing a test.

8. As the Administrator of your company’s very large SharePoint 2013 environment, you have been noticing some issues. For one, the performance of the site is really slow the entire day. You also notice that recently uploaded documents are not showing up in the search results. Search is configured with all default settings. What should you do?

  • Disable continuous crawling, schedule full and incremental crawls
  • Separate Web Applications into multiple content sources
  • Review Crawl Log
  • All of the above

Explanation: When you have continuous crawling enabled, you are basically kicking off an incremental crawl every 15 minutes. If you have too much content to crawl that fast, it’s not going to go well. In a lot of cases, you are better off segmenting your different web apps and sites into separate content sources, and setting staggered crawl schedules, based on how often content changes. Additionally, check your crawl log. It’s always helpful.

9. You have been given the following requirements for your SharePoint 2016 Farm. Whenever a user tries to search for the term “vacation request,” the HR Department Team site is the first result, separate from the rest of the results. In order to achieve this, what do you need to configure?

  • Best Bets
  • Promoted results
  • Result Sources
  • Query Rules

Explanation: You could create best bets in SharePoint 2010, but in 2013 and beyond, they are called promoted results. For more info, check out http://ift.tt/2eNAM54

10. You are the administrator of a SharePoint 2016 farm. In order to improve performance, you wish to route user requests so that they are load balanced. Which service application needs to be configured?

  • Distributed Cache
  • Request Management Service
  • Windows Server Load balancing
  • Blob Cache Service

Explanation: The distributed cache service caches data on your front ends so that it is accessible from anywhere. This helps to reduce the load on the WFE’s and your SQL instance. http://ift.tt/2equSZl

 

Identity Management

1. You are the Administrator of a SharePoint 2013 farm. You've set all of your Web Applications to use both NTLM and ADFS authentication. Users do not like the experience of having to choose ADFS from the dropdown when they log into your sites. NTLM is only used for search. What should you do?

  • Set /_trust/ as the custom login page
  • Modify the login page in the hive
  • Remove NTLM authentication
  • Configure ADFS

Explanation: Redirecting users to /_trust/ forces them to authenticate through your auth provider. You could also use a custom login page.

2. You are writing a PowerShell script that adds an authentication provider to your web apps. Which command will accomplish this without harming anything?

  • Set-SPWebApplication -identity $srvr -Zone Default -AuthenticationProvider $authprovider,$NTLM –Force
  • Set-SPWebApplication -identity $srvr -Zone Default -AuthenticationProvider $authprovider, –wait
  • Set-SPWebApplication -identity $srvr -Zone Default -AuthenticationProvider $authprovider, –Force
  • Set-SPWebApplication -identity $srvr -Zone Default -AuthenticationProvider $authprovider,$NTLM –wait

Explanation: The two key things to notice here are that we are adding an authentication provider, not replacing one, and we don’t want to harm any other processes. In order to accomplish that, we need to specify the new provider and existing NTLM, and use a “wait” flag.

3. How does Azure Active Directory map on-premises users to cloud users?

  • Claim Rules
  • Relying Party trusts
  • Immutable IDs
  • SAM-Account-Name

Explanation: This one is pretty straightforward. The Immutable ID is the attribute in a user profile that Azure AD uses to map between Active Directory and the cloud. I learned this one the fun way, when I configured Azure AD, and already had an account in the cloud. I used the immutable ID to map my existing cloud account to my on-prem AD account.

4. You have a SharePoint 2013 Farm. You have successfully added ADFS to all of your web applications, and migrated your users with a script that iterates through all users in a web application, then uses the move-SPuser commandlets to migrate permissions. All users are able to get into most web applications and sites without issues.  However, the site owners of your publishing-focused sites are reporting that no users can log into their sites, not even administrators. What's likely to be the culprit?

  • Super_User Account
  • Farm Account
  • Service Account
  • None of the Above

Explanation: If you are switching every user in your farm to adfs authentication, you will want to put in logic to skip the service accounts, as well as your super user and super reader accounts. In this example, only publishing sites are having issues.  This is because the super user and super reader accounts are needed for publishing. If you break their permissions, publishing sites won’t function correctly. If you accidentally break the permissions, just give permissions back to the AD version of the super user/reader, rather than the adfs version.

5. You are configuring ADFS 3.0 for your SharePoint 2013 Farm. You have just completed your relying party trust, and are configuring transform rules. Your client would like to keep things clean by using AD groups inside their SharePoint groups. What outgoing claim type do you need to pass to accomplish this?

  • SAM-Account-Name
  • Role
  • Token Groups – Unqualified Names
  • User Principle Name

Explanation: When you are setting up your rules, “Roll” is the attribute you need to pass in order for SharePoint to see groups.

6. You have a SharePoint 2013 farm. You've just added ADFS authentication to your existing Collaboris.com Web Application. In addition, several other web applications are only using NTLM authentication, with no intention of switching to ADFS. Users in the Collaboris.com Web App are reporting they no longer have their previous permissions. What PowerShell commandlets do you need to use in order to restore their permissions and profile?

  • Move-SPUser
  • Set-SPWebApplication
  • Convert-SpWebApplication
  • Set-SPTrustedIdentityTokenIssuer

Explanation: I learned this one the hard way. Using move-spuser will flip users to the authentication method of your choice, but because it does it at the user level, it does it globally. The convert-SPWebApplication commandlet will allow you to flip the authentication on an individual web application without breaking your permissions globally.

7. You have a SharePoint 2013 farm. You have web applications on multiple domains, and have created separate relying parties in ADFS 3.0. There is already an existing token issuer, named ADFS that works with the first Web Application you configured. After setting your other Web Apps to ADFS authentication, you are unable to log into them. What should you do?

  • Add realms to the token issuer
  • Create new token issuers
  • Create new trusts
  • Run a User Profile Sync

Explanation: Once you have created the token issuer, and have gotten that authentication set up for a web app, you need to create a realm for each web application, and apply it to your token issuer. Using a wildcard as your realm doesn’t seem to work.

8. In your SharePoint 2013 Farm, you are creating an ADFS authentication provider.  To do so, you run the below powershell. What is the identifier for your users going to be?

  • Email address
  • User Principle Name
  • SAM-Account-Name
  • Immutable ID

 

----------------------------------------------------------------------------

 Add-PSSnapin "Microsoft.SharePoint.PowerShell"

$certpath = read-host 'Please enter the path to your SSL certificate'

$adfs = read-host 'Please enter the url for your adfs server'

$providername = read-host 'Please enter your authentication provider name'

$appname = read-host 'Please enter your app name'

#--------This should be what you named your provider in adfs. Something like  "urn:sharepoint:sp2013"

$realm = read-host 'Please input your ADFS identifier'

$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("$certpath")

#---------Create SSL Trust in SharePoint

New-SPTrustedRootAuthority -Name "Token Signing Cert" -Certificate $cert

#--------Create variables

$ClaimMap1 = New-SPClaimTypeMapping -IncomingClaimType "http://ift.tt/wQcBQt" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming

$ClaimMap2 = New-SPClaimTypeMapping -IncomingClaimType "http://ift.tt/1cAhe0c" -IncomingClaimTypeDisplayName "UPN" -SameAsIncoming

$ClaimMap3 = New-SPClaimTypeMapping -IncomingClaimType "http://ift.tt/N30iCh" -IncomingClaimTypeDisplayName "Role" -SameAsIncoming

$ClaimMap4 = New-SPClaimTypeMapping -IncomingClaimType "http://ift.tt/1cAhbBu" -IncomingClaimTypeDisplayName "SID" -SameAsIncoming


#--------- Create sign-in URL

$signInURL = "$adfs/adfs/ls"

#------------------Create the Trusted Identity Token Issuer with mappings

$ap = New-SPTrustedIdentityTokenIssuer -Name $providername -Description "ADFS Authentication Provider" -realm $realm -ImportTrustCertificate $cert -ClaimsMappings $ClaimMap1,$ClaimMap2,$ClaimMap3,$ClaimMap4 -SignInUrl $signInURL -IdentifierClaim $Claimmap2.InputClaimType

------------------------------------------------------------------------------------------------------------------------

Explanation: This one didn’t make it into the SharePoint Tournament, because it is obviously too long and wouldn’t format in a good way. However, no use letting it go to waste. The trick to this one is looking at each mapping, then look at the “-identifierClaim” flag in the final bit of PowerShell. It is setting the identifier as $ClaimMap2, which is UPN, or User Principle Name. 

9. You are an administrator for multiple cloud applications using Azure Active Directory. Recently, your company has partnered with external organizations who are going to need access to your cloud applications. Most of their company will need access, and they want to manage their users themselves. What is the best way to implement this?

  • Create the external users in a separate OU in Active Directory
  • Use the “share” feature of SharePoint and OneDrive
  • Configure B2B
  • Add users in the Office 365 Admin center

Explanation: B2B allows you to import users from an external organization, using an Azure Active Directory Tenant that they manage themselves. If they do not currently have an Azure AD Tenant, it will invite them to create one.

10. Your organization is developing a web application that they plan to host on Azure. It will be consumer-facing, and users will need to be able to create accounts and log into your application. What should you do to facilitate this?

  • Create a B2C Directory
  • Develop a custom Identity Provider
  • Use AWS
  • Configure ADFS

Explanation: B2C, or Business to Consumer is a new feature of Azure AD that lets you create a separate directory that you can tie into your custom applications.  Users are able to create and manage their own accounts.

Office365

1. You have just created a group in Office 365. You want to start keeping track of what tasks are assigned to whom, and view analytics on their progress while expending the least amount of time and energy. What should you use to facilitate this?

  • PowerBI
  • SharePoint Task Lists
  • Project Online
  • Planner

2. You are a member of an Office365 group that was created for a particular project. After taking extended leave, you wish to see all of the content that was worked on within that group. What application would you use in order to do this?

  • Mail
  • Planner
  • Team Sites
  • Delve

Explanation: Delve consolidates all the content you may be interested in as long as you have the correct permissions. You’ll be able to see everything in one place.

3. You are a global administrator for your organization’s Office365 tenant. Leadership has been complaining that users are placing credit card information into excel documents stored in a Team Site. However, users are correctly stopped from entering credit card numbers into emails. What do you need to do to fix this issue?

  • Create a data retention policy in the Security and Compliance Center
  • Enable DLP for OneDrive
  • Implement an RMS Server
  • Enable DLP for SharePoint Sites

Explanation: Data Loss Prevention, or DLP, is what performs this duty. Since it’s a team site where you are having the issue, you need to enable it on SharePoint, and Configure your settings.

4. You have been very busy at work lately, so much so where you can’t remember the last time you weren’t answering emails, or in a meeting. In order to simplify things, you decide to figure out where you are spending the most time, so you can cut out less-important things. You currently have an E3 license. What else do you need to accomplish this, while spending the least amount of money?

  • MyAnalytics Addon
  • E5 License
  • Delve comes with the E3 license, so you’re all set
  • Office 365 Business Premium License

Explanation: This one is sort of tricky.  E3 licenses do come with Delve, but not the MyAnalytics piece. E5 licenses come with MyAnalytics, but cost more than adding the MyAnalytics Addon to your E3 licenses.

5. You are the head of your department. You are working on a project that includes some members of your team, and some members of another team. Your organization has Office365 E3 licenses for everybody. In order to be able to fully keep track of the project, what should you create?

  • Group mailbox in exchange online
  • An Office 365 Group
  • Active Directory Group
  • SharePoint Project Site

Explanation: Office365 groups can be used to organize employees however you see fit. If you create an Office365 group that includes these users, they will have access to their team site, planner, email group, etc.

6. You own a small business, where you are in charge of IT as well. You wish to simplify the way scheduling is handled between clients and your employees. You have Microsoft Office Business Premium licenses. What application should you use?

  • Planner
  • Bookings
  • Flow
  • PowerApps

Explanation: Bookings is a newer application that hasn’t finished rolling out to Business Premium and above users. It allows your clients to log in, and book appointments based on your availability.

7. You are in charge of all IT projects in your organization, including anything done in Office 365 or social media. Your boss asks you to make a list of all Twitter posts with more than one retweet, store it in SharePoint, and all them to review and approve those posts for inclusion in the newsletter, straight from their email. What technology would you use to accomplish this?

  • SharePoint Workflows
  • PowerApps
  • IFTTT
  • Flow

Explanation: Flow is a new Microsoft App that can connect to various sources, including SharePoint and twitter, and perform actions based on conditions.

8. Your organization has an Office 365 tenant. You are trying to run analytics on a 2GB .CSV file. Running it in excel doesn’t seem to work, as it just freezes up. You have signed into PowerBI, but are still unable to run analytics on the data. Why?

  • The content is corrupted
  • You don’t have an E5 License
  • PowerBI only supports a 1GB max file size
  • CSV files are not supported by Excel or Power BI

Explanation: PowerBI can support a dataset larger than 1GB, but in order to do that, you need a paid license. An E5 license would take care of this.

9. Your organization has a lot of mobile users that need to enter data into a SharePoint list. The devices are an assortment of phones and tablets, running different platforms. What should you use?

  • Flow
  • PowerApps
  • SharePoint Mobile App
  • Infopath

Explanation: PowerApps can be used on multiple devices. The SharePoint Mobile App could technically work, but at the time the question was written, it was only out on iPhones.

10. You have an Office 365 Tenant. Leadership at your organization wishes to store video content, and share it only with specified users, and maybe anonymously. What solution could you use to accomplish this?

  • Stream
  • Office365 Video
  • SharePoint Media Library
  • All of the above

Explanation: Stream is Microsoft’s newest video hosting application. It may eventually have anonymous access, and will definitely end up combined with Office365 Video.

OneDrive

1. Your company has had an Office 365 Tenant since 2015. Your friend’s company just got one. You’ve noticed that you are unable to upload .js files to your OneDrive for Business, while your friend has no problems whatsoever. What could you change to fix this?

  • Configure scripting
  • Upgrade your sync client
  • Create a group
  • Configure blocked file types

Explanation: I only marginally understand this one.  I was speaking with a Microsoft rep about certain files being blocked, and he recommended turning off scripting, which is something that’s done by default currently, but was not in older tenants.  Incidentally, my problem actually fixed itself. Could be due to an update.

2. Your organization uses OneDrive for business, as well as SharePoint Online. A lot of people like to sync SharePoint Team Site items to their devices, but when you try to configure groove.exe, you can’t get anything to sync. What do you need to do?

  • Configure SharePoint Site Settings
  • Configure list settings in OneDrive
  • Upgrade to the next generation sync client
  • Reinstall groove.exe

Explanation: The next generation sync client will soon have the availability to sync all your SharePoint data

3. What is the maximum file size you can upload to OneDrive for Business?

  • 2GB
  • 1TB
  • 5GB
  • 10GB

Explanation: None needed. http://ift.tt/1mK55f2

4. You have a document library with 25,000 items in SharePoint. You wish to sync a folder with your laptop, which is 6 folders deep. How can you sync the items you need and require the least amount of “click cost” every time you need to access that folder?

  • Download copies of all the files you need
  • Install the new OneDrive for Business sync client, and sync the whole document library
  • Install the new OneDrive for Business sync client, and use selective Sync
  • Browse to your document library and access the files whenever you need.

Explanation: The Next Generation Sync Client will allow you to select which files you need to sync.

5. Which feature that was previously removed from OneDrive for Business will be coming back in 2017?

  • Metadata
  • User Auditing
  • SharePoint Library Sync
  • Yammer Integration

Explanation: Metadata should be coming back in 2017.

6. OneDrive Sync has been installed on a shared machine within your organization. The main user of the machine has no problems syncing their OneDrive. However, other users don’t seem to have OneDrive at all. You discover that you have to install the Sync client per user. Why can’t you install the sync client one time?

  • OneDrive must run in the user context
  • It allows the client to receive updates without user elevation
  • It allows for separation of user data
  • All of the above

Explanation: OneDrive installs per user for these reasons.Ignite Session about OneDrive

7. Your organization does not want important financial information to be stored in OneDrive for Business. What feature do you need to configure to facilitate this?

  • OneDrive Next Generation Sync Client
  • DLP Policies
  • Retention Policies
  • DRM

Explanation: You need to configure your DLP policies in the security and compliance center to solve your issue.

8. Your organization has had problems with users deleting important financial documents in OneDrive, as well as SharePoint Online. You have been asked to stop them from deleting these documents. Where do you need to configure that?

  • Site Settings -> Closure and Deletion
  • The “security” area in the Security and Compliance Center
  • The “data management” section in the Security and Compliance Center
  • Deletion policies in the Compliance Policy Center

Explanation: This seems to be called Data Governance now, but this is done in the “preserve” area.

9. Your HR department all uses OneDrive. One employee has been getting regular sync errors, and is not seeing all of their data in their browser. The folders they are syncing are below:

  • Users
  • Input_files
  • Forms
  • Documents_vti
  • Pictures
  • Videos
  • PST_Files

Which folder or folders are likely to be causing the sync errors?

  • Input_Files
  • Documents_vti
  • PST_Files
  • Forms

Explanation: This one is tricky. Documents_vti actually does work. Documents_vti_, does not. You need that final underscore in that _vti_ for the block to happen. However, you cannot have a folder called “Forms.”

10. You are in charge of your company’s OneDrive administration. Lately, you’ve been having issues with employees defecting to a rival company, and sharing classified information before quitting. In addition to lawyer-ing up, you should probably make it so mobile and personal devices can’t print, sync, or download any files from web browsers. What do you need to configure?

  • User access under SharePoint Administration
  • A Data loss prevention policy under the Security and Compliance Center
  • A group policy when you deploy OneDrive globally
  • Security settings in the next generation sync client

Explanation: ...I honestly am not sure where this question came from. None of these seem right. An MDM policy seems more likely to be the culprit, but that doesn't seem to do what the question says either. It's possible that this question is about a feature that is not out yet, that I saw on an Ignite session. If you guys have the real answer, please comment!

Conclusion

So there you have it. It was a lot of fun coming up with these questions, and even more fun to test out the awesome platform built for the task. Till next time!

 


by Nick Brattoli via Everyone's Blog Posts - SharePoint Community

Monday, October 24, 2016

Displaying search results as a list view with document preview, sorting & filtering in SharePoint

The question was simple, please make a search display template that looks as much as a SharePoint list as possible. The template needs sorting and filtering options, a document preview and the possibility to show extra, non crucial information within the document preview.

We found out that there are few solutions available for displaying the results as a list view, filtering and document preview. But most of them do one or the other while we needed all of them combined. So we decided to build it ourselves. The files we started building from can be found at the following GitHub link, these will lay the groundwork for displaying the results in list format. The folder will contain several files, but we are only going to use Control_List_Table.html and Item.List.Item.html.

To start off, we wanted to be sure the customer knew that we would not implement every functionality of a list, this would take us to far.

Adding the display template


The files you downloaded can be uploaded in the Content Web Parts folder under Display Templates folder. The exact upload location of the display templates does not matter, as long as it is in the Display Templates folder under the masterpage gallery. The meta data fields which show up when the files are uploading, can be ignored.

JsFiles


As seen in the screenshot above, on the right side, SharePoint will automatically generate one JavaScript file for each item uploaded. When you modify the html files, make sure to publish the files. This can be done by right clicking on the items you just uploaded and clicking on ‘Publish’. Else you might find that not everyone can see your changes.

Before the display template can be configured, the search managed properties that will be used in the display template must be configured correctly. The display template has sorting functionality, in order for this to work, the sorting option on the managed properties that need to be sortable must be selected.

Modifications

document previewproperties


As you can see in the screenshot, we added a document preview to the list for every item. The document preview will show up if you click on the ellipsis of an item.  The buttons you see when the preview is open are also added and the information displayed (like author) is configurable in the web part which we will discuss further in this blog.

Another thing we added are the sorting options hidden behind that little triangle next to the column name, as in a list. This is done as following: 

sorting

One of the downsides of trying to copy something, is that you can’t copy it for 100%. One of those things is that you can’t sort very well on for example a date. In the search results the results are not seen as type they are, but just as text. So if you want to sort a date column, it will not work properly because it is not seen as a date, but as a text type.

Filtering can be done by connecting a search box web part to the content search web part. This will filter the search results.

setsortable

The snippet below will render the menu when clicking on the small triangle in the column header.


/*********************************
* Header menu *
*********************************/
spikes.Header.Menu = function() {
return {
showMenu: function(element) {
var headerElement = element.parentElement.parentElement;
var menuElements = headerElement.getElementsByClassName("ms-core-menu-box");
if (menuElements.length > 0) {
var menuElement = menuElements[0];
menuElement.style.left = element.offsetLeft + 17 - 127 + "px";
menuElement.className = menuElement.className.replace('hidesortmenu','');
}
}
};
}();

Display template configuration


To use the display template, you need to add a content search web part to a page in SharePoint and configure it correctly.

As we discussed earlier, you can change the information displayed in the document preview by adding properties like in the screenshot.

The properties under HeaderTitles will change the name of the columns of the search results. If it is left empty, the managed property names will be used as column names. We added this functionality because Managed properties don't always have a logical name.

The PreviewDialogTitle option is used in order to set the value of a certain managed property of the document as title of the document preview.

The managed properties that are not important, and don't need their own column can still be visualized on the preview panel.

The final result will look something like this.

fixed_voorbeelddisplaytemplate

Thanks for reading.


by Rens O via Everyone's Blog Posts - SharePoint Community

O365 - SPFX - JS - Programmatically Add a ClientSideWebPart to a page

In this post, we will see how to add a client side web part programmatically to a page. Here in the example, I have used the javascript (from msdn) and modified to use the client side web part manifest details.

ClientSideWebPart Manifest:

<webParts>
  <webPart xmlns="http://ift.tt/1fI5tWY">
    <metaData>
      <type name="Microsoft.SharePoint.WebPartPages.ClientSideWebPart, Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
      <importErrorMessage>Cannot import this Web Part</importErrorMessage>
    </metaData>
    <data>
      <properties>
        <property name="Description" type="string">Quick Links</property>
        <property name="HelpUrl" type="string" />
        <property name="Hidden" type="bool">False</property>
        <property name="MissingAssembly" type="string">Cannot import this Web Part</property>
        <property name="CatalogIconImageUrl" type="string" />
        <property name="Title" type="string">Quick Links Title</property>
        <property name="AllowHide" type="bool">True</property>
        <property name="AllowMinimize" type="bool">True</property>
        <property name="ExportMode" type="exportmode">All</property>
        <property name="AllowZoneChange" type="bool">True</property>
        <property name="TitleUrl" type="string" />
        <property name="ClientSideWebPartData" type="string" />
        <property name="ChromeType" type="chrometype">Default</property>
        <property name="AllowConnect" type="bool">True</property>
        <property name="Width" type="string" />
        <property name="Height" type="string" />
        <property name="HelpMode" type="helpmode">Modeless</property>
        <property name="ClientSideWebPartId" type="System.Guid, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">c70391ea-0b10-4ee9-b2b4-006d3fcad0cd</property>
        <property name="AllowEdit" type="bool">True</property>
        <property name="TitleIconImageUrl" type="string" />
        <property name="Direction" type="direction">NotSet</property>
        <property name="AllowClose" type="bool">True</property>
        <property name="ChromeState" type="chromestate">Normal</property>
      </properties>
    </data>
  </webPart>
</webParts>

We can get the above manifest when we export the client side web part from the page. All the ClientSideWebpart is of type "Microsoft.SharePoint.WebPartPages.ClientSideWebPart" and contains the unique "ClientSideWebPartId" - c70391ea-0b10-4ee9-b2b4-006d3fcad0cd for Quick links. 

Javascript: Here I have used the Javascript to add a web part to a page using the above manifest.

var siteUrl = '/';
var serverRelativeUrl = '/sitepages/devhome.aspx';
 
function addWebPart() {
 
    var clientContext = new SP.ClientContext(siteUrl);
    var oFile = clientContext.get_web().getFileByServerRelativeUrl(serverRelativeUrl);
 
    var limitedWebPartManager = oFile.getLimitedWebPartManager(SP.WebParts.PersonalizationScope.shared);
 
    var webPartXml = '<webParts>' +
  '<webPart xmlns="http://ift.tt/1fI5tWY">' +
    '<metaData>' +
      '<type name="Microsoft.SharePoint.WebPartPages.ClientSideWebPart, Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />' +
      '<importErrorMessage>Cannot import this Web Part</importErrorMessage>' +
    '</metaData>' +
    '<data>' +
      '<properties>' +
        '<property name="Description" type="string">Quick links description</property>' +
        '<property name="HelpUrl" type="string" />' +
        '<property name="Hidden" type="bool">False</property>' +
        '<property name="MissingAssembly" type="string">Cannot import this Web Part</property>' +
        '<property name="CatalogIconImageUrl" type="string" />' +
        '<property name="Title" type="string">QuickLinks</property>' +
        '<property name="AllowHide" type="bool">True</property>' +
        '<property name="AllowMinimize" type="bool">True</property>' +
        '<property name="ExportMode" type="exportmode">All</property>' +
        '<property name="AllowZoneChange" type="bool">True</property>' +
        '<property name="TitleUrl" type="string" />' +
        '<property name="ClientSideWebPartData" type="string" />' +
        '<property name="ChromeType" type="chrometype">Default</property>' +
        '<property name="AllowConnect" type="bool">True</property>' +
        '<property name="Width" type="string" />' +
        '<property name="Height" type="string" />' +
        '<property name="HelpMode" type="helpmode">Modeless</property>' +
        '<property name="ClientSideWebPartId" type="System.Guid, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">c70391ea-0b10-4ee9-b2b4-006d3fcad0cd</property>' +
        '<property name="AllowEdit" type="bool">True</property>' +
        '<property name="TitleIconImageUrl" type="string" />' +
        '<property name="Direction" type="direction">NotSet</property>' +
        '<property name="AllowClose" type="bool">True</property>' +
        '<property name="ChromeState" type="chromestate">Normal</property>' +
      '</properties>' +
    '</data>' +
  '</webPart>' +
'</webParts>';
 
    var oWebPartDefinition = limitedWebPartManager.importWebPart(webPartXml);
    this.oWebPart = oWebPartDefinition.get_webPart();
 
    limitedWebPartManager.addWebPart(oWebPart, 'Left', 1);
 
    clientContext.load(oWebPart);
 
    clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));
}
 
function onQuerySucceeded() {
 
    alert('Web Part added: ' + oWebPart.get_title());
}
 
function onQueryFailed(sender, args) {
 
    alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}

The above code adds one of the O365 - QuickLinks ClientSideWebPart (Dev version). 

The list of other ClientSideWebParts can be retrieved using the "_api/web/GetClientSideWebParts" api. The custom web part unique Id can be retrieved from your feature xml within the *.spapp package.


by Balamurugan Kailasam via Everyone's Blog Posts - SharePoint Community

The Ultimate Script to download Microsoft Ignite 2016 Videos AND slides!

With the amount of great sessions at Ignite this year, there is no way you could have attended all, and even if they are posted on Channel9 and Youtube, you might want to download them to be able to view them offline! That is why I created this PowerShell Script so everyone can easily download Microsoft Ignite Videos AND slides whether they were present at Ignite or not! Here are the features:

  • Downloads all the Microsoft Ignite 2016 Sessions and Slides and description in a text file
  • Groups them by folders
  • Makes sure no errors come up due to Illegal File names.
  • If you stop the script and restart in the middle, it will start where it left off and not from beginning
  • Filter by keywords in the session title!
  • Ability to choose from HD videos, or lower quality.

 

Download the script from here!  Do not copy paste from below as it sometimes messes up the PowerShell code!

How to use:

First, make sure to change the $downloadlocation variable. By default it saves it all in C:\Ignite

  • To download all sessions just run the script! (1TB of content in High Definition)  EX:

.\ DownloadIgnite2016Content

  • To download sessions based on a keyword use the keyword parameters, and divide keywords by a comma. Make sure to use quotes around the keywords! EX:

.\ DownloadIgnite2016Content -keyword “Groups,PowerApps,Flow”

  • To download sessions based on the session code, use the session parameter and divide sessions by a comma. Make sure to use quotes around the session codes!

.\DownloadIgnite2016Content -session “BRK3038,BRK3080,BRK1009”

Note: By default, the videos are downloaded in High Definition. Downloading all the Ignite Videos in HD takes over 1TB of hard drive space. You can change the script (delete two lines, and uncomment two others) in order to download the lower quality version of the videos, which is only about 80 GB.

Follow me on Social Media and Share this cool script with your friends!


Leave a comment and don’t forget to like the Absolute SharePoint Blog Page   on Facebook and to follow me on Twitter here  for the latest news and technical articles on SharePoint.  I am also a Pluralsight author, and you can view all the courses I created on my author page.

Here is the source code:

#Script written by Vlad Catrinescu
#Visit my site http://ift.tt/1eCEHiK
#Twitter: @vladcatrinescu
#Originally Posted here: http://ift.tt/2eJiyQU

Param(
  [string]$keyword,[string]$session
)


######    Variables  #####

#Location - Preferably enter something not too long to not have filename problems! cut and paste them afterwards
$downloadlocation = "C:\Ignite"
#Ignite 2016 Videos RSS Feed
[Environment]::CurrentDirectory=(Get-Location -PSProvider FileSystem).ProviderPath 
$rss = (new-object net.webclient)
$video1 = ([xml]$rss.downloadstring("http://ift.tt/2dOyqUz"))
$video2 = ([xml]$rss.downloadstring("http://ift.tt/2eJnfdq")) 
#other qualities for the videos only. Uncomment below and delete the two previous lines to download Mid Quality videos
#$video1 = ([xml]$rss.downloadstring("http://ift.tt/2dOwdIW"))
#$video2 = ([xml]$rss.downloadstring("http://ift.tt/2eJgSac"))
$slide1 = ([xml]$rss.downloadstring("http://ift.tt/2dOvwPM"))
$slide2 = ([xml]$rss.downloadstring("http://ift.tt/2eJj8Or"))



#SCRIPT/ Functions  Do not touch below this line :)#
if (-not (Test-Path $downloadlocation)) { 
                Write-Host "Folder $fpath dosen't exist. Creating it..."  
                New-Item $downloadlocation -type directory | Out-Null
        }
set-location $downloadlocation

function CleanFilename($filename)
{
    return $filename.Replace(":", "-").Replace("?", "").Replace("/", "-").Replace("<", "").Replace("|", "").Replace('"',"").Replace("*","")
}

function DownloadSlides($filter,$videourl)
{
    try 
    {    
        $videourl.rss.channel.item | Where{($_.title -like “*$filter*”) -or ($_.link -like "*/$filter")} | 
        foreach {
                $code = $_.comments.split("/") | select -last 1    
        
                # Grab the URL for the PPTX file
                $urlpptx = New-Object System.Uri($_.enclosure.url)  
            $filepptx = $code + "-" + $_.creator + "-" + (CleanFileName($_.title))
                $filepptx = $filepptx.substring(0, [System.Math]::Min(120, $filepptx.Length))
                $filepptx = $filepptx.trim()
                $filepptx = $filepptx + ".pptx" 
                if ($code -ne "")
                {
                         $folder = $code + " - " + (CleanFileName($_.title))
                         $folder = $folder.substring(0, [System.Math]::Min(100, $folder.Length))
                         $folder = $folder.trim()
                }
                else
                {
                        $folder = "NoCodeSessions"
                }
        
                if (-not (Test-Path $folder)) { 
                        Write-Host "Folder $folder dosen't exist. Creating it..."  
                        New-Item $folder -type directory | Out-Null
                }

                # Make sure the PowerPoint file doesn't already exist
                if (!(test-path "$downloadlocation\$folder\$filepptx"))     
                {       
                        # Echo out the  file that's being downloaded
                        write-host "Downloading slides: $filepptx"
                        #$wc = (New-Object System.Net.WebClient)  

                        # Download the MP4 file
                        #$wc.DownloadFile($urlpptx, "$downloadlocation\$filepptx")
                Start-BitsTransfer $urlpptx "$downloadlocation\$filepptx" -DisplayName $filepptx
                        mv $filepptx $folder 

                }
            else
            {
                        write-host "Slides exist: $filepptx"
            }
            }

     }
    
    catch
    {
        $ErrorMessage = $_.Exception.Message
        Write-host "$ErrorMessage"
    }
}


function DownloadVideos($filter,$slideurl)
{
#download all the mp4
# Walk through each item in the feed 
$slideurl.rss.channel.item | Where{($_.title -like “*$filter*”) -or ($_.link -like "*/$filter*")} | foreach{   
        $code = $_.comments.split("/") | select -last 1    
        
        # Grab the URL for the MP4 file
        $url = New-Object System.Uri($_.enclosure.url)  
        
        # Create the local file name for the MP4 download
        $file = $code + "-" + $_.creator + "-" + (CleanFileName($_.title))
        $file = $file.substring(0, [System.Math]::Min(120, $file.Length))
        $file = $file.trim()
        $file = $file + ".mp4"  
        
        if ($code -ne "")
        {
                 $folder = $code + " - " + (CleanFileName($_.title))
                 $folder = $folder.substring(0, [System.Math]::Min(100, $folder.Length))
                 $folder = $folder.trim()
        }
        else
        {
                $folder = "NoCodeSessions"
        }
        
        if (-not (Test-Path $folder)) { 
                Write-Host "Folder $folder) dosen't exist. Creating it..."  
                New-Item $folder -type directory | Out-Null
        }
        
        
        
        # Make sure the MP4 file doesn't already exist

        if (!(test-path "$folder\$file"))     
        {       
                # Echo out the  file that's being downloaded
                write-host "Downloading video: $file"
                #$wc = (New-Object System.Net.WebClient)  

                # Download the MP4 file
                Start-BitsTransfer $url "$downloadlocation\$file" -DisplayName $file
                mv $file $folder
        }
    else
    {
                write-host "Video exists: $file"
    }

#text description from session
        $OutFile = New-Item -type file "$($downloadlocation)\$($Folder)\$($Code.trim()).txt" -Force  
    $Category = "" ; $Content = ""
    $_.category | foreach {$Category += $_ + ","}
    $Content = $_.title.trim() + "`r`n" + $_.creator + "`r`n" + $_.summary.trim() + "`r`n" + "`r`n" + $Category.Substring(0,$Category.Length -1)
   add-content $OutFile $Content
                
        }
}



if ($keyword)
{
    $keywords = $keyword.split(",")
    
    foreach ($k in $keywords)
    {
        $k.trim()
        Write-Host "You are now downloading the sessions with the keyword $k"
        DownloadSlides $k $slide1
        DownloadSlides $k $slide2
        DownloadVideos $k $video1
        DownloadVideos $k $video2
    }
}
elseif ($session)
{
    $sessions = $session.Split(",")
    
    foreach ($s in $sessions)
    {
        $s.trim()
        Write-Host "You are now downloading the session $s"
        DownloadSlides $s $slide1
        DownloadSlides $s $slide2
        DownloadVideos $s $video1
        DownloadVideos $s $video2
    }

}
else
{
    DownloadSlides " " $slide1
    DownloadSlides " " $slide2
    DownloadVideos " " $video1
    DownloadVideos " " $video2
}

 

The post The Ultimate Script to download Microsoft Ignite 2016 Videos AND slides! appeared first on Absolute SharePoint Blog by Vlad Catrinescu.


by Vlad Catrinescu via Absolute SharePoint Blog by Vlad Catrinescu

Friday, October 21, 2016

Bring your “A” game to ESPC16

This information was provided by the European SharePoint Conference for community education. No official review was performed by Vlad Catrinescu.

With just over 3 weeks to go to Europe’s largest gathering of SharePoint & Office 365 professionals, take a look at these tips that will help you get the most out of ESPC16…

090516_2251_MyConferenc1.jpg

Find out who’s going

Check out Twitter #espc16 to find out who’s going. There’s no better time to network with your peers, connect with new prospects, or touch base with customers than ESPC16. Don’t bank on running into them at the conference, reach out to them before and arrange a meeting.

Plan ahead
Take a look at the conference schedule and decide the sessions and tutorials you would like to attend. Take note of their time so you can plan your meetings accordingly. If you are travelling with co-workers, split up and attend different sessions. You can swap notes after, allowing your company to get the most out of the conference.

Learn
Before the session, think of some questions you would like the answers to. Don’t be afraid to ask them during the Q&A, or alternatively go up and have a chat with the speaker afterwards. It is also important to take notes. A good practice is to write down the 3 most important takeaways from each session.

Socialise
With 1,500 people from the SharePoint and Office 365 community estimated to attend ESPC16, it is worth going to the after parties and the many other great side-line and networking sessions, you never know who you’ll meet. Swap ideas, get advice and make those all-important contacts.

Follow-up in real time
Send follow-up emails and LinkedIn requests, while the conference is still fresh in people’s minds. Take notes on the business cards you collect to help you to remember important points when following-up. Use Business card apps such as CamCard or the Business Card Camera in Evernote to digitally store all your business card info. Write up an email template before the conference to speed up the follow-up process after.

Share what you learn
There is no value add for your company sending you to a conference if you don’t implement and share what you’ve learned. Organise an informal meeting with your colleagues and managers and share important takeaways from the conference.

Still haven’t made up your mind? Then visit 10 reasons to attend ESPC16 to see why you should be there. Then book your ticket today.

The post Bring your “A” game to ESPC16 appeared first on Absolute SharePoint Blog by Vlad Catrinescu.


by Vlad Catrinescu via Absolute SharePoint Blog by Vlad Catrinescu

Thursday, October 20, 2016

New Pluralsight Course: Planning for SharePoint Server 2016 – Logical Architecture and Integrations

I am extremely happy to announce that my sixth Pluralsight course is published and this is the second part to the course I released at the begging of September. While the first course focused on Physical Topology and Services, this one will focus on the Logical Architecture of SharePoint 2016, and Integration with other systems.

Planning is the key to success in most of your professional activities, and it applies to SharePoint as well. Before starting to install and configure your SharePoint farm, you need to plan what other services you will integrate it with, as well as how you will secure and backup your SharePoint farm. In this course, Planning for SharePoint Server 2016: Logical Architecture and Integrations, you’ll learn foundational knowledge on how to plan your SharePoint Server logical architecture. First, you will learn what needs to be planned if you want to integrate SharePoint Server 2016 with other Microsoft servers such as Project Server and Exchange Server 2016. Next, you’ll learn the available authentication methods in SharePoint, and what security methods you could implement such as SSL bridging, anti-virus, and transport security to keep your SharePoint safe. Finally, you’ll learn the different ways to backup SharePoint, and why it’s important to test your backups. When you’re finished with this course, you will have the skills and knowledge of SharePoint 2016 needed to properly plan a SharePoint 2016 logical architecture according to your business needs. This course also covers part of the “Planning” objectives of the SharePoint 2016 MCSE Exam 70-339. (View more info here: http://ift.tt/1V62fzs )

You can find the course on Pluralsight at http://spvlad.com/PlanningSP2016-2 or by clicking the banner blow:


If you don’t have a Pluralsight Subscription, check out how to get a free 3 months on my blog post over here: http://ift.tt/1Q7illv ! If you enjoy the course and you learned a lot, you can share it on social media by directly retweeting the tweet below!

Follow me on Social Media and Share this article with your friends!


Leave a comment and don’t forget to like the Absolute SharePoint Blog Page   on Facebook and to follow me on Twitter here  for the latest news and technical articles on SharePoint.  I am also a Pluralsight author, and you can view all the courses I created on my author page.

The post New Pluralsight Course: Planning for SharePoint Server 2016 – Logical Architecture and Integrations appeared first on Absolute SharePoint Blog by Vlad Catrinescu.


by Vlad Catrinescu via Absolute SharePoint Blog by Vlad Catrinescu