Guest access is a new feature in Microsoft Teams that allows different organizations to collaborate together in a shared environment. Anyone with a business or consumer email account, such as Outlook, Gmail, or others, can participate as a guest in Teams with full access to team chats, meetings, and files.
With the Teams and SharePoint site integration of an Office 365 group, you can now restrict access to a certain document library in SharePoint and have these access restrictions replicate to the corresponding Teams tab. This blog post will provide a walk-through of the required steps of restricting a document library in SharePoint, and creating a corresponding Teams tab that is linked to this document library.
Restricting access for SharePoint document library
- In your SharePoint site, navigate to the document library you wish to secure.
- Click on the gear icon on the top of the page, and click on ‘Library settings’:
- Click on ‘Stop Inheriting Permissions’ under the Permissions tab:
- Select all current permission groups and click ‘Remove User Permissions’:
- Click on ‘Grant Permissions’
- Add the users you want to be able to access the document library:
- Click on ‘Show Options’
- Select the appropriate permission level
- Click Share
- Now only users you have explicitly given access to, along with site owners, will be able to access that document library.
Creating a tab in Teams linked to the document library
- Navigate to the appropriate Team.
- Click on the ‘+’ sign for the channel that you want the tab to be created on.
- Click on ‘Document Library’.
- Under ‘Relevant sites’, choose the SharePoint site that you created the document library in.
- Click ‘Next’.
- Pick the document library you want to add:
- Change the name of the tab that will be displayed in Teams:
- Click ‘Save’.
- Now only the Office 365 Group members who you have explicitly given access to this document library will be able to view it in Teams. This allows different organizations to collaborate together on projects while maintaining the ability to restrict access to sensitive content.
Typically, when you develop with ASP.NET you have the luxury of IIS Express taking care of SSL and hosting, however IIS and IIS Express are exclusive to the Windows platform. ASP.NET Core 1.0 has decoupled the web server from the environment that hosts the application. This is great news for cross-platform developers since web servers other than IIS such as Apache and Nginx may be set up on Linux and Mac machines.
This tutorial involves using Nginx as the web server to host a dockerized .NET Core web application with SSL Termination on a Ubuntu machine. In this three-part tutorial, I’ll guide you in:
Part I (This post) – 1. Creating and publishing an ASP.NET Core web app using the new dotnet CLI tools and 2. Installing and configuring PuTTY so we may SSH and transfer files with our Ubuntu machine
Part II – Setting up Docker and creating a Docker Image on Ubuntu 16.04
Part III – 1. Configuring Nginx for SSL termination and 2. Building and Running the Docker Image.
One of the most important processes in software development is the Rapid Application Development (RAD) model. The RAD model promotes adaptability – it emphasizes that requirements should be able to change as more knowledge is gained during the project lifecycle. Not only does it offer a viable alternative to the conventional waterfall model, but it has also spawned the development of the Agile methodology, which you can learn more about here.
A core concept of the RAD model is that programmers should quickly develop prototypes while communicating with users and teammates. However, historically, this has been hard to do – when starting a project, you often need to decide which languages, libraries, APIs, and editors to use before you can begin. This takes the “rapid” out of rapid application development, and this was always a problem until online integrated development environments (IDEs) started popping up. Continue reading “Rapid Development Using Online IDEs”
So you’ve read our previous blog on Section 508 Standards are and how to test for them and next thought “Gosh, that’s nice, but how do I make a page 508 Compliant?” Or you stumbled upon this blog from a quick search. Either way, if you’re looking for quick and easy tips on how to make your site more 508 Compliant, you’re in the right place! We’ll cover a few common 508 Standards and give basic html examples on how to meet compliancy.
Continue reading “Section 508 Coding Practices”
You create a SharePoint action to add custom buttons to the ribbon or settings pages. Actions can be created in Visual Studio and consist of a single Elements file. Multiple actions can be deployed with just one file. In typical SharePoint style, a web-level feature is used to install the action(s).
Continue reading “How to Write SharePoint Custom Actions”
So you want to build a sand castle, but you’re using Sandbox Solutions. Next, the question may come up about Farm solutions. You may ask yourself, “What are the differences?” In this blog post, I’ll cover the differences and advantages of Sandbox Solutions vs. Farm Solutions. The goal of this post is to not only introduce you to idea of SandBox Solutions and Farm Solutions but also address the issues associated with each.
When working with Amazon Web Services (AWS) EC2 instances, bootstrapping refers to using scripts provided at launch to configure new EC2 instances (servers). Concerning Windows servers, there are several considerations when determining the best method of bootstrapping. Bootstrap scripts can be applied directly from the management console, but we will be looking at a programmatic method of using bootstrapping scripts through the AWS CLI. There are many alternative choices. Many can be quite elaborate. This approach is one with very few dependencies. This scope of this blog covers creating a batch file that will run at the command prompt using the AWS CLI interface. Continue reading “Bootstrapping Windows Servers with AWS EC2”
There are several things to consider before clicking that “Launch” button in the AWS (Amazon Web Services) console. The more you plan and take into consideration ahead of time, the more you can save yourself a few headaches down the road. I will go over some fundamental best practices to consider before launching your EC2 instance. These topics will cover storage, security, backup/recovery, and finally management. Continue reading “Best Practices for AWS EC2”
One of the more interesting challenges contractors for public sector clients have is working with older versions of software. On a recent project involving an integration of a solution I’d written using Microsoft Dynamics CRM 2016 and SharePoint 2010, I found myself struggling with an issue around capturing a digital signature.
As a straight SharePoint development project, this can be fairly routine: leverage Microsoft Word and its implementation of signature blocks, similarly leverage SharePoint’s out-of-the-box (OOTB) workflow for collecting signatures, and you’re basically done.
However, the client in question was less than enthusiastic about SharePoint as a platform in general and, because of that, and a few other design criteria, the bulk of the solution wound up being built in Dynamics CRM and SharePoint was largely a simple document repository.
So, how do you not re-invent the wheel for digital signatures and still keep most of your smarts on the Dynamics CRM side? [Bear in mind the production environment where this was going to be enabled was very locked down. Farm solutions were prohibited, so even if you wanted to write your own custom workflow using .NET workflow, you couldn’t because that requires a farm solution.]
We have the OOTB workflow already and we can associate it with the document library in question, but what we really needed was the ability to notify CRM when that workflow completed. Answer: SPWorkflowEventReceiver.
Continue reading “Using Event Receivers for SharePoint Workflows”