If you’ve ever had to develop for SharePoint, you’ve likely had to develop using virtual machines from time to time. Given the sheer size these VM’s grow to, I generally keep them on external drives.
Yesterday, I accidentally pulled the USB 3.0 cable for my external drive before my machine went into sleep mode while the VM was still running. When I booted back up, I was met with the following error message in SharePoint:
I launched management studio and found the following:
Luckily, my colleague Brian Feldmann had been through this before and helped me find a solution to bring back a Suspect database.
SharePoint Hybrid Environments offer flexibility for businesses that are not ready, able or willing to move all of their existing content to SharePoint Online. Whether it is because of current customizations, third-party solutions and integrated legacy applications that aren’t available or supported, or it is due to regulatory and compliance restrictions, hybrid environments may be the answer for an organization weighing the benefits of moving to the Cloud.
Hybrid Environments let businesses migrate content that they want to move and can move to SharePoint Online while keeping the rest on-premises and ties the two together. For the end user, the experience is unified and seamless. Hybrid Environments can be useful for many scenarios including Gradual Migration, Regulatory Restrictions, Unified Search, Business Connectivity Services (BCS) and Business-to-Business (B2B) Extranets.
As a developer, you have complete control over the way end users see and interact with search results. This post focuses on how you can create a column based display template. The end result will render items in a two column view where items flow top to bottom, left to right.
With the recent release of SharePoint 2016, I decided it was time to perform an install in a Lab environment to check out all the new bells and whistles. So, I went over to codeplex and downloaded the latest version of everybody’s favorite SharePoint installation script, AutoSPInstaller*.
*At the time of this writing the version of AutoSPInstaller was v3.99.51.
The lab environment consists of four servers:
(2) Front End Servers
(1) Application Server
(1) Search Server
(1) Database Server
Each server is running Windows Server 2012 R2 Standard Edition and SharePoint 2016 was to be installed on the Front End, Application and Search servers.
As you may already know, SharePoint allows developers to create custom web parts a few different ways. You can create a web part through code using the Visual Studio Web Part Template or you can create it with a Visual Web Part Template. The Visual Web Part templates are nice because they allow you to use user controls (.ascx) files to generate your markup.
If you’ve ever created one of these Visual Web parts you’ve probably noticed that there is a code behind .ascx.cs file and another odd file with a ascx.g.cs extension. This .asxc.g.cs file is automatically generated by Visual Studio and is quite important. Every time you make an update or change the .ascx file and then press save, Visual Studio pushes those updates into this auto-generated file. The .ascx control is never actually deployed; instead the code files are packaged…
SharePoint has the Content Query web part, which is a control that allows a user to display an aggregated list of items based on some criteria. You can choose to return items from all sites within a site collection or from a specific list; all based on a list type and content type. You also get a few different display options, but if you try to return an Enhanced Rich Text field, that is to say some HTML and CSS Styling, the results are a bit funky.
Recently I had to create a custom web part where all users needed the ability to fill out a text box with some feedback and then submit it to a list where it could be reviewed. This is a pretty simple control to implement if the users that will be submitting the form have “Contribute” permissions on the list that the form will be submitted to, but what happens if users with “Read” permissions should also have the ability to fill out the form?
Fortunately, SharePoint makes it super simple to write custom code that can impersonate other users.