Tuesday, November 27, 2012

Site Access Request and Invitations in SharePoint 2013

Introduction

In this article we will see how the end-user requests site access invitations and how the site owner will manage the requests in SharePoint 2013.

Steps

We will first allow the end user to send an access request, if they don't have access to the SharePoint sites. The Site Owner/Administrator goes to the Site Settings -> Site Permissions page; see:

Image1.jpg

In the permissions page click the "Access Request Settings" link from the Ribbon.

Image2.jpg

Check the "Allow access requests" check box and enter the email id.

Image3.jpg

Image4.jpg

If the user doesn't have the access to the site then they will get a message like "Sorry you don't have access to this site" and if enabled for the site access request, the user is able to send a request as shown below.

Image5.jpg

Once user has sent the request, they will see the following status and confirmation message:

Image5.5.jpg

Now the site Owner/Administrator navigates to Site Settings-> Access requests and invitations.

Image6.jpg

We are able to view all the pending requests with conversation messages and we provide appropriate access and approve the request.

Image7.jpg

If there are any issues while attempting to approve the request, then we check the "configure outgoing e-mail settings".

Image8.jpg

Once the requests are approved, we are able to see the request status and confirmation message. Approved requests are moved from "Pending Requests" to "History" section.

Image9.jpg

Now the same user is able to view the site.

Image10.jpg

Internals

Some quick notes about the Access Requests internals. It is all stored in a hidden list called "Access Requests". This list has three views/pages:
  • Guest user invitations (Access Requests/pendinginv.aspx)
  • History (Access Requests/oldreq.aspx)
  • Pending Requests (Access Requests/pendingreq.aspx)
That is good to know if you want to leverage/improve the functionality of access requests in your applications. This list has unique permissions with only Site Owners with Full Control.

Summary

SharePoint 2013 has, with this simple feature, made it so much easier to create and manage community sites; internal or external. It's these little things that make a huge difference!

Wednesday, November 21, 2012

Sequential Work Flow in SP 2010 Using VS 2010


Introduction
In this article we will see how to create a sequential work flow in SharePoint 2010 using VS 2010.

Objective
Let's make the scenario simple. We want to create a simple work flow and if the work flow status is not completed, we need to prevent the user from deleting the document.

Steps
First we need to create a "Status" column with a Choice field type with various status options in our Document library.
Sequenceworkflow1.jpg
Once the "Status" column  was created, the document library will be as shown below:
Sequenceworkflow2.jpg

Open the VS2010 -> Select SharePoint 2010 -> Select the Sequential work flow project type and complete the wizard as shown below.
Sequenceworkflow4.jpgSequenceworkflow4.jpgJust click the OnWorkFlowActivated step and create an event called OnWorkFlowActivated_Invoked:Just click the OnWorkFlowActivated step and create an event called OnWorkFlowActivated_Invoked: Just double-click the onWorkflowActivated step. It will redirect to the code behind file.Drag a while loop step from the Tool Box, below the onWorkflowActivated step:Drag a while loop step from the Tool Box, below the onWorkflowActivated step: 
Sequenceworkflow9.jpg Sequenceworkflow11.jpg



Invoke the "IsWorkFlowPending" method in both the "onWorkflowActivated_Invoked" and the "onWorkflowItemChanged1_Invoked" methods.Invoke the "IsWorkFlowPending" method in both the "onWorkflowActivated_Invoked" and the "onWorkflowItemChanged1_Invoked" methods.Let's deploy the solution and we will check whether or not the workflow is deployed in our document library.Let's deploy the solution and we will check whether or not the workflow is deployed in our document library. 

Upload a document and start the workflow: We will see the workflow status as "InProgress" in the document library. Edit the task and change the status to Approved. Our workflow status will change to "Completed". We can prevent the user from "Deleting" the document, if the "Status" is not completed. Just add an Event Receiver in the same work flow project. 







Sequenceworkflow23.jpgLet's check the code in the UI using a document which is in the InProgress Status and try to delete the document.Let's check the code in the UI using a document which is in the InProgress Status and try to delete the document. If we click ok also the document is still in our repository. Let's make some changes in the code to display a user friendly message: Now when we try to delete the document we will see the following message. Summary                We created a simple work flow in VS 2010 and prevent the users from deleting a document, if its not approved.                We created a simple work flow in VS 2010 and prevent the users from deleting a document, if its not approved.
                
We created a simple work flow in VS 2010 and prevent the users from deleting a document, if its not approved.







Sequenceworkflow3.jpg
By default we have the following simple start page:
Sequenceworkflow5.jpg
Sequenceworkflow6.jpg
Sequenceworkflow7.jpg
Sequenceworkflow8.jpg
Select the while loop step and in the property window configure the "Condition" as "Code Condition" and create an event called "IsWorkFlowPending".
Sequenceworkflow10.jpg
Sequenceworkflow12.jpg
Sequenceworkflow13.jpg
Sequenceworkflow14.jpg
Sequenceworkflow15.jpg
Place the following in the our workflow:
Sequenceworkflow16.jpg
Sequenceworkflow17.jpg
Sequenceworkflow18.jpg
Sequenceworkflow19.jpg
Sequenceworkflow20.jpg
Sequenceworkflow21.jpg
Sequenceworkflow22.jpg
In the code behind file, we will prevent the user from deleting a document if the status is "Pending".
Sequenceworkflow24.jpg
Sequenceworkflow25.jpg
Sequenceworkflow26.jpg
Sequenceworkflow27.jpg
Sequenceworkflow28.jpg


Summary



Hello World Application in SharePoint Store Apps

IntroductionIn this article we will see how to develop our first app using "Nappa Office 365 Tools" in SharePoint 2013.StepsFirst we need to create a Site Collection with the "Developer Site" template. See:ShrStrApps1.jpgOnce the site collection has been created, click the SharePoint store link and we will get the following message:ShrStrApps2.jpgJust select any language and we will see the "Napa Office 365 Development Tools" app and "Add" this app to our site. See:ShrStrApps3.jpgWhile adding this Napa app, it'll ask for credential verification. It'll be a hotmail/live id. See:ShrStrApps4.jpgOnce the "Napa" app has been added in our site, we will see the following message:ShrStrApps5.jpgWe'll see the same app will be in the Site Content also, the same place we see all the apps of the particular site. See:ShrStrApps6.jpgClick the "Napa" app; it'll redirect to the Welcome page with various choices of apps. Just select SharePoint Apps.ShrStrApps7.jpgOnce we select the SharePoint Apps, it'll redirect to the "Napa" Cloud development site as shown below. We'll see the bread crumb as Office 365 --> Napa-->SharePointApp1 which means that SiteName--> Napa-->App Name.By default we will see the following set of files in our application:ShrStrApps8.jpgWe can able add/remove any files in our application. See:ShrStrApps9.jpgIn our app we just want to display the logged in user name, let's make it simple. See:ShrStrApps10.jpgAfter doing the coding, we can run our application as shown below. It'll open our app in a new browser window. In addition to that we have also opened our app from VS 2012.ShrStrApps11.jpgWe will see the installation steps, once its completed we will see our application in a separate window.ShrStrApps12.jpgShrStrApps13.jpgIf we want to publish our app, select the publish option in the bottom-left icon and complete it.ShrStrApps14.jpgShrStrApps15.jpgOnce it's published we will see our application in the App Packages. Like WSP files 2013 we have a new format with an .APP extension.ShrStrApps16.jpgWe can find the published app in our Site Contents page. See:ShrStrApps17.jpgIf we open the app will see our Application Pages. See:ShrStrApps18.jpgSummary"Napa" is a free app for SharePoint. Since "Napa" is web based, you don't need to install anything on your machine to start developing for Office and SharePoint. Just fire up your browser and start coding. As your application matures and you need more advanced tools, you can seamlessly switch to the more powerful, fully featured Visual Studio IDE, and continue developing there.